Size: a a a

PowerShellRus - о Powershell (и не только) на русском

2021 February 26

A

Aleksandr in PowerShellRus - о Powershell (и не только) на русском
Boo
мне надо вернуть в конце exit code, в зависимости от запроса.
$result = Invoke-Command -ComputerName $ToServer -ScriptBlock { (get-service MonAd).Status -eq "Stopped" }; if ($result) {exit} else {exit 1}
источник

B

Boo in PowerShellRus - о Powershell (и не только) на русском
Aleksandr
$result = Invoke-Command -ComputerName $ToServer -ScriptBlock { (get-service MonAd).Status -eq "Stopped" }; if ($result) {exit} else {exit 1}
да это всё понятно. я же говорю нужно через | . хотя уже не нужно, все равно ничерта не работает
источник

A

Aleksandr in PowerShellRus - о Powershell (и не только) на русском
Invoke-Command -ComputerName $ToServer -ScriptBlock { (get-service MonAd).Status -eq "Stopped" } | Foreach {if ($_) {exit} else {exit 1}}
источник

B

Boo in PowerShellRus - о Powershell (и не только) на русском
проблема в грёбаном гитлаб ci. мне нужно чекать стартанула ли служба после деплоя сервиса.
доставку делал запуском скрипта из файла. проверку так не сделаешь, из файла если запускать exit code не вернёшь в процесс ci.
хотел его наколоть и сделать что то типа
pwsh -Command "if ((Invoke-Command -ComputerName $ToServer -ScriptBlock { (get-service MonAd).Status }).value -eq 'Running') {exit 0}else {exit 1}"
но если есть кавычки, он видимо делает то же что и если комманд обернуть в {} или вызвать из файла. оттуда exit code тоже не вернуть
источник

S

St. in PowerShellRus - о Powershell (и не только) на русском
Старый добрый sc, не поможет тебе понять статус службы на удаленной тачке?
источник

A

Aleksandr in PowerShellRus - о Powershell (и не только) на русском
Boo
проблема в грёбаном гитлаб ci. мне нужно чекать стартанула ли служба после деплоя сервиса.
доставку делал запуском скрипта из файла. проверку так не сделаешь, из файла если запускать exit code не вернёшь в процесс ci.
хотел его наколоть и сделать что то типа
pwsh -Command "if ((Invoke-Command -ComputerName $ToServer -ScriptBlock { (get-service MonAd).Status }).value -eq 'Running') {exit 0}else {exit 1}"
но если есть кавычки, он видимо делает то же что и если комманд обернуть в {} или вызвать из файла. оттуда exit code тоже не вернуть
Выполни dir env:\  и посмотри, определена, ли переменная в ToServer
источник

B

Boo in PowerShellRus - о Powershell (и не только) на русском
чем получить статус службы не проблема, проблема обратно статус код вернуть
источник

B

Boo in PowerShellRus - о Powershell (и не только) на русском
Aleksandr
Выполни dir env:\  и посмотри, определена, ли переменная в ToServer
внутри процесса выполнения пш всё ок. но это другой процесс, в ci я не могу вернуть код
источник

VB

Vector BCO in PowerShellRus - о Powershell (и не только) на русском
Boo
чем получить статус службы не проблема, проблема обратно статус код вернуть
так сі по идее должен этот код получить из поша
источник

VB

Vector BCO in PowerShellRus - о Powershell (и не только) на русском
exit 1 выставит значение в failed, exit выставит значение в 0
источник

B

Boo in PowerShellRus - о Powershell (и не только) на русском
Vector BCO
так сі по идее должен этот код получить из поша
ну вот не получает
даже из консоли если выполнить
pwsh -command "exit 1"
в консоль ничего не прилетит
источник

VB

Vector BCO in PowerShellRus - о Powershell (и не только) на русском
попробуй просто создать шаг с пошем который выполнит exit 1 и проверь в ci екзит код
источник

VB

Vector BCO in PowerShellRus - о Powershell (и не только) на русском
Boo
ну вот не получает
даже из консоли если выполнить
pwsh -command "exit 1"
в консоль ничего не прилетит
в консоль ничего и не должно прилететь
источник

B

Boo in PowerShellRus - о Powershell (и не только) на русском
Vector BCO
попробуй просто создать шаг с пошем который выполнит exit 1 и проверь в ci екзит код
да делал так, ничего
источник

VB

Vector BCO in PowerShellRus - о Powershell (и не только) на русском
Boo
да делал так, ничего
посмотри как в сі получить lastexitcode
источник

VB

Vector BCO in PowerShellRus - о Powershell (и не только) на русском
обычно это какая-то конструкция типа $?
источник

B

Boo in PowerShellRus - о Powershell (и не только) на русском
Vector BCO
посмотри как в сі получить lastexitcode
там каждая команда выполняется в новом окружении вроде
источник

B

Boo in PowerShellRus - о Powershell (и не только) на русском
мне внутри команды нужно его послать
источник

VB

Vector BCO in PowerShellRus - о Powershell (и не только) на русском
Boo
там каждая команда выполняется в новом окружении вроде
в настройках сі может быть параметр отвечающий за то возвращать что-то из таска или нет
по крайней мере в женкинсе так
источник

VB

Vector BCO in PowerShellRus - о Powershell (и не только) на русском
но екзит коды вродь и без этого обрабатывает
источник