Запуск функции в PowerShell - PullRequest
4 голосов
/ 07 июля 2010

Я новичок в PS и получил скрипт для запуска.Первое, что я делаю, это набираю c:\powershell\ir.ps1.Это похоже на работу.Затем, после определения моего каталога клиентов, я должен иметь возможность просто вводить такие функции, как ir-n.Это сработало на столе человека, который показал мне, как это сделать, но я получаю следующую ошибку:

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

Есть ли что-то простое, что я могу сделать, чтобы заставить его работать?Я вижу функцию в файле ir.ps1, поэтому знаю, что она есть.

Ответы [ 2 ]

7 голосов
/ 07 июля 2010

Похоже, что вы запускаете скрипт ir.ps1, когда вам нужно его найти. Я предполагаю, что файл ir.ps1 определяет функцию с именем ir-n. В этом случае запуск сценария не определит функцию в контексте сценария, но не командное окно. Вам необходимо создать сценарий, чтобы он сохранился в командном окне.

Попробуйте выполнить следующее

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

После этого попробуйте ir-n.

2 голосов
/ 07 июля 2010

Вам, вероятно, нужно dot source скрипт, который оставит функции, которые он определяет, доступными в глобальной области видимости, например ::100100

PS> . c:\powershell\ir.ps1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...