2013-05-16 15 views
12

Używam Octopusa do naszych wdrożeń. Mam problem z jednym z skryptów PowerShell do kontroli Wdrożenie:Powershell w trybie NonInteractive

# stops running processes 
$processes = @("Notepad", 
       "Firefox") 
foreach ($process in $processes) 
{ 
    $prc = Get-Process -Name $process -ErrorAction SilentlyContinue 
    if (-not($prc -eq $null)) 
    { 
     Write-Host "Stopping " $prc.ProcessName 
     Stop-Process -InputObject $prc -ErrorAction SilentlyContinue 
    } 
} 

Programy staram się zatrzymać nie są tymi, które widzisz w skrypcie powyżej, ale stanowią one, co próbuję zrobić. Teraz mam problem z tym, że działa dobrze na jednym serwerze, ale nie na innym. Gdzie to nie działa, pojawia się komunikat o błędzie:

Proces zatrzymania: Windows PowerShell jest w trybie NonInteractive. Funkcja odczytu i monitowania jest niedostępna.

Działający skrypt działa na Powershell 3.0, który nie działa w Powershell 2.0. Nie mogę jeszcze uaktualnić do Powershell 3.0, ponieważ stare serwery działają w systemie Windows Server 2003. Jak mogę sprawić, aby działało na PS 2.0?

+0

Czy możesz wstawić wartość 'get-executionpolicy' i' $ confirmpreference' z serwera z wersją 2.0? –

+0

get-executionpolicy RemoteSigned $ confirmpreference Nie było danych wyjściowych dla $ potwierdzeńpreferencji. – tobre

+0

Ops, moja literówka: $ confirmpreference ... –

Odpowiedz

14

Run z -Force:

Stop-Process -InputObject $prc -ErrorAction SilentlyContinue -Force

W przeliczeniu na ilość węgla sugeruje w komentarzu: -confirm:$false powinny również działać. Przesłanka tego jest następująca: -Confirm jest parametrem przełączającym. Parametry przełączania mogą przyjmować tylko argumenty, jeśli parametr zostanie określony za pomocą dwukropka i wartości.

+0

Dam to spróbować tak szybko, jak tylko mogę. Nasi użytkownicy często używają systemu do testowania i często nie mogę przeprowadzać wdrożeń. Uruchomiłem skrypt dziś rano z Powershell ISE zatrzymując Notatnik i działało dobrze. Dlatego jedynym sposobem sprawdzenia, czy problem został rozwiązany, jest wykonanie rzeczywistego wdrożenia. – tobre

+0

Korekta. Uruchom z '-Force' –

+0

To nie działa z Read-Host. Propozycje? – ryanwebjackson

Powiązane problemy