2016-11-02 8 views
1

Я пытаюсь использовать в Powershell параметров 5 Моего сценария заключается в следующем:Powershell пары просто не работают, и это сводит меня с умом

param(
[parameter(mandatory=$true)] 
[string]$IP, 

[parameter(mandatory=$true)] 
[string]$Time 
) 
Write-Host $IP 
Write-Host $Time 

Пусть скрипт называется Test.ps1, I попытался запустить его двумя способами:

.\test.ps1 -IP 10.10.10.10 -Time 10:10 
.\test.ps1 -IP "10.10.10.10" -Time "10:10" 

Ни одна из этих работ не работает. Вместо этого мне предлагается ввести значение IP. Ошибка заключается в следующем:

cmdlet test.ps1 at command pipeline position 1 
Supply values for the following parameters: 
IP: 

Очевидно, что этот небольшой скрипт просто фаза интеграции кусок кода в более крупную систему сценариев. Помощь была бы оценена, после нескольких часов поиска я не вижу, что я сделал неправильно.

+2

Хорошо подходит для меня, копируя и вставляя свой скрипт: http://i.imgur.com/1NKn9AL.png вы используете его из командной строки или на удаленной машине или что-то еще? Какая большая система? – TessellatingHeckler

+0

Может подтвердить, что он работает и для меня. Можете ли вы опубликовать несколько скриншотов о том, как вы вызываете код и что видите? –

ответ

2

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

powershell.exe .\test.ps1 -IP "10.10.10.10" -Time "10:10" 

Это должно работать..

powershell -File C:\somedirectory\test.ps1 -IP "10.10.10.10" -Time "10:10" 

Может пнуть это прочь через .bat файл, а также. Такие, как test.bat

In command prompt C:\>test.bat "10.10.10.10" "10:10" 

Содержание файла .bat ниже.

@ECHO OFF 
PowerShell -File C:\somedirectory\test.ps1 -IP %1 -Time %2