2010-07-06 2 views
4

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

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

ответ

6

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

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

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

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

+0

вас, ребята, и этот форум является удивительным ... это сработало. я увижу, смогу ли я сделать это сейчас, если не вернусь. благодаря! – user385028

+0

Если это сработало, вы должны принять этот ответ. – JMD

+0

Не могу поверить, что вы отметили, что ответ велик и еще не принял его. Я уверен, что это просто промах. :) –

2

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

PS> . c:\powershell\ir.ps1 
Смежные вопросы