【发布时间】:2019-04-26 00:00:28
【问题描述】:
我正在创建一个 powershell 脚本来更改 sybase 数据库帐户密码。我正在使用 isql.exe 更改密码。以下是我尝试自动化的步骤:
1) isql.exe -SServerName -UUserAccount -PPassword [运行此命令,您应该使用用户帐户登录]
2) 此时它正在等待你运行这个命令 "sp_password 'oldPassword', 'newPassword'" [keyboard Enter]
3) GO [键盘输入]
使用我构建的以下脚本,我可以登录,但无法执行步骤 2 和 3。我看到屏幕正在等待输入步骤 2 和步骤 3,但我应该如何写入呢?
我是 powershell 新手,但我尝试在第 2 步中使用 Write-Output、Write-Host、Invoke-Expression、Invoke-Command,但没有成功
$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"
【问题讨论】:
标签: powershell sybase sap-ase