2012-06-15 2 views
0

Я застрял в этой странной проблеме, где я пытаюсь выполнить сценарий powershell из командной строки powershell. Но я не получаю никаких ошибок и не загружается скрипт.Невозможно загрузить .ps1 скрипт powershell из команды Powershell (консоль)

У меня есть сценарий в C:\temp\myFunction.ps1 (который имеет метод getMyName())

Я раскрываю команду Powershell и перемещаться в эту директорию и выполнить

./myFunction.ps1 

тогда нет никаких ошибок и вернуться к следующему line в строке. Но когда я пытаюсь вызвать функцию getMyName - я получаю ошибку getMyName не распознается.

Я поставил Execution-Policy to Unrestricted, я бегу PowerShell как администратор

+0

Было бы интересно посмотреть, что вы имеете в виду именно: функция имеет метод. –

ответ

4

Попробуйте dot sourcing сценарий:

. .\myFunction.ps1 
+1

Да Это работает, но я не понимаю понятия. Я очень благодарен вам – ajax

+0

Ваш 'getMyName()' - это функция, определенная в myFunction.ps1. Он живет в рамках myFunction.ps1. Чтобы иметь его в области консоли, вам нужно рассчитать источник файла myFunction.ps1. Прочтите ссылку на технологию, опубликованную в моем ответе. –

1

Пришло основная проблема Powershell скрипт. Установите путь, в котором вы физически сохранили файл, а затем выполните сценарий Powershell. Еще одна вещь

1. start your command window run as admin. 
2. set the Powershell script policy for execution. 
+1

Попробуй установить путь ... ./abc.ps1 также работает, но это мне нужно увидеть. спасибо – ajax

+0

@ajax: Most welcome .. вы изучите эту ссылку. Я сталкиваюсь с той же проблемой, и я ее разрешаю. http://stackoverflow.com/questions/9033847/execute-powershell-script-in-c-sharp-without-username-and-password –

+0

Привет, ребята Я сделал дополнительный поиск и узнал, что объявление функций как глобальных будет также решить эту проблему. function Example - global: myFunction() – ajax

Смежные вопросы