Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Windows Новый топик    Ответить
 PowerShell в скрипте вызать скрипт  [new]
mezzanine
Member

Откуда:
Сообщений: 157
Добрый день.
С задачей вызвать из скрипта другой скрипт при этом контролировать успешность выполнения.
Так как сейчас написал выполняется 2-й скрипт с ошибкой и первый продолжает дальше работать.
Переменная $LastExitCode всегда пустая.
function GenerateTokens () {
  $ScriptPath = Join-Path $MigrationRoot '..\Scripts\PowerShell\TokenToCsv.ps1'
  $ArgumentList = @()
  $ArgumentList += ("-Server", $Server)
  $ArgumentList += ("-Database", $Database)
  #$ArgumentList += ("-UserId", $UserId)
  $ArgumentList += ("-Password", $Password)
  $ArgumentList += ("-Path", "d:\Tokens.csv")  
  Invoke-Expression "$ScriptPath $ArgumentList"
  Write-Host "From PowerShell: TokenToCsv.ps1 exited with exit code $LastExitCode"
}
3 июн 16, 13:38    [19254735]     Ответить | Цитировать Сообщить модератору
 Re: PowerShell в скрипте вызать скрипт  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20763
А если
Invoke-Expression "$ScriptPath $ArgumentList" -ErrorVariable LastExitCode
Write-Host "From PowerShell: TokenToCsv.ps1 exited with exit code $LastExitCode"

А то ить текста в переменную ветром же не надует...
3 июн 16, 13:50    [19254836]     Ответить | Цитировать Сообщить модератору
 Re: PowerShell в скрипте вызать скрипт  [new]
mezzanine
Member

Откуда:
Сообщений: 157
Akina,

$ExitCode = 0
Invoke-Expression "$ScriptPath $ArgumentList" -ErrorVariable $ExitCode
Write-Host "From PowerShell: TokenToCsv.ps1 exited with exit code $ExitCode"

В оутпут вижу лог эксепшена скрипта 2, но переменная $ExitCode так и осталась 0.
В скрипте 2 нужно как-то специально возвращать этот код или при эксепшене само заполнит?
3 июн 16, 14:45    [19255176]     Ответить | Цитировать Сообщить модератору
 Re: PowerShell в скрипте вызать скрипт  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20763
Справку читать не пробовал? примеры там посмотреть... ты зачем знак доллария влепил?
3 июн 16, 14:54    [19255229]     Ответить | Цитировать Сообщить модератору
 Re: PowerShell в скрипте вызать скрипт  [new]
mezzanine
Member

Откуда:
Сообщений: 157
Akina,

Спасибо! Заработало!
3 июн 16, 15:37    [19255477]     Ответить | Цитировать Сообщить модератору
Все форумы / Windows Ответить