У меня есть следующие команды в скрипте powershell (в Jenkins):
$Command = "C:\Program Files\Microsoft SQL Server\150\DAC\bin\SqlPackage.exe"
$Parms = "/Action:Script /sf:DB.dacpac /Profile:publish.xml"
$Prms = $Parms.Split(" ")
& "$Command" $Prms
Как я могу запустить SqlPackage.exe от имени другого пользователя?
PS: он находится внутри Jenkins, поэтому я не могу запустить файл ps1 или SqlPackage.exe с помощью диалогового окна runas windows.
РЕДАКТИРОВАТЬ:
Я думаю, я очень близко, пока у меня есть следующий сценарий.
$sb = [scriptblock]::create("& ""SqlPackage.exe"" ""/Action:Script /sf:DB.dacpac /Profile:publish.xml /TargetServerName:localdb /op:Publish.sql""")
$Secure_Password = ConvertTo-SecureString -String $parPassword -AsPlainText -Force
$Credential = New-Object -Type PSCredential($parUserId,$Secure_Password)
$Session = New-PSSession -ComputerName ServerName -Credential $Credential
Invoke-Command -Session $Session -ScriptBlock $sb
Я получаю следующую ошибку:
*** Аргумент 'Action' имеет недопустимое значение: 'Script /sf:DB.dacpac / Profile : publi sh. xml / TargetServerName: localdb /op:Publish.sql'