2010-07-06 5 views
4

Je suis nouveau sur PS et j'ai reçu un script à exécuter. La première chose que je fais est de taper c:\powershell\ir.ps1. Cela semble fonctionner. Ensuite, après avoir défini le répertoire de mes clients, je suis supposé pouvoir taper des fonctions telles que ir-n. Cela a fonctionné à qui m'a montré le bureau de la personne comment le faire, mais je reçois l'erreur suivante:Exécution d'une fonction dans PowerShell

The term 'ir-n' is not recognized as the name of a cmdlet, function, script file, or 
operable program. Check the spelling of the name, 
or if a path was included, verify that the path is correct and try again. 
At line:1 char:5 
+ ir-n <<<< 
    + CategoryInfo   : ObjectNotFound: (ir-n:String) [], CommandNotFoundException 
    + FullyQualifiedErrorId : CommandNotFoundException 

Y at-il quelque chose de simple que je peux faire pour le faire fonctionner? Je vois la fonction dans le fichier ir.ps1 donc je sais qu'il est là.

Répondre

6

Il semble que vous exécutiez le script ir.ps1 lorsque vous devriez l'utiliser. Je devine que le fichier ir.ps1 définit une fonction nommée ir-n. Dans ce cas, l'exécution du script ne définira pas la fonction dans le contexte du script mais pas dans la fenêtre de commande. Vous devez rechercher le script pour qu'il reste dans la fenêtre de commande.

Essayez d'exécuter les éléments suivants

PS$> . c:\powershell\ir.ps1 

Après avoir exécuté cette essayez ir-n.

+0

les gars et ce forum est génial ... ça a marché. Je vais voir si je peux le faire maintenant, sinon je reviendrai. Merci! – user385028

+0

Si cela a fonctionné, vous devez accepter cette réponse. – JMD

+0

Je ne peux pas croire que vous avez noté que la réponse est grande et ne l'ont pas encore accepté. Je suis sûr que ce n'est qu'un simple oubli. :) –

2

Vous devez probablement dot source le script qui laissera les fonctions qu'il définit disponibles dans la portée globale .:

par exemple
PS> . c:\powershell\ir.ps1 
Questions connexes