Я создаю сценарий powershell для изменения пароля учетной записи базы данных sybase. Я использую isql.exe для смены пароля. Ниже приведены шаги, которые я пытаюсь автоматизировать:
1) isql.exe -SServerName -UUserAccount -PPassword [Запустите эту команду, и она должна войти в систему с учетной записью пользователя]
2) На данный момент он ожидает запуска этой команды "sp_password 'oldPassword', 'newPassword'" [клавиатура Enter]
3) GO [ввод с клавиатуры]
С помощью приведенного ниже скрипта я могу войти, но не могу выполнить шаги 2 и 3. Я вижу, что экран ожидает ввода Шаг 2 и Шаг 3, но как мне записать в него?
Я новичок в powershell, но я попытался использовать Write-Output, Write-Host, Invoke-Expression, Invoke-Command для шага 2, и он не работал
$exe=$args[0] #argument which contains the path to isql.exe
$server=$args[1] #argument which contains server name
$user=$args[2] #argument which contains user account
$oldPassword=$args[3] #argument which contains current password
$newPassword=$args[4] #argument which contains new password
$severPrefix= '-S'
$userPrefix= '-U'
$passwordPrefix='-P'
$scriptPrefix='-E'
$spPasswordCmd= 'sp_password'+' '+ $oldPassword +','+ $newPassword
$serverArg = $severPrefix + $server
$userArg= $userPrefix + $user
$passwordArg= $passwordPrefix + $oldPassword
#Step 1- isql.exe -SserverName -UuserAcount -PoldPassword
&$exe $serverArg $userArg $passwordArg
#Step 2 - After login, execute "sp_password 'oldPassword', 'newPassword'"
#&$spPasswordCmd
#Step 3- Go
Read-Host -Prompt "Press Enter to continue"