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?
Czy możesz wstawić wartość 'get-executionpolicy' i' $ confirmpreference' z serwera z wersją 2.0? –
get-executionpolicy RemoteSigned $ confirmpreference Nie było danych wyjściowych dla $ potwierdzeńpreferencji. – tobre
Ops, moja literówka: $ confirmpreference ... –