我有一个如下的脚本。想法是该脚本以特定用户身份启动某些软件。
脚本执行没有错误,但是软件从未启动(我在GUI中看不到它,在任务管理器中也看不到它)。
我尝试了多种Start-Process PowerShell
的标志组合(例如,删除-PassThru
或将-Verb
更改为RunAs
,但似乎没有任何区别)。
我还尝试过从PowerShell
中删除Start-Process PowerShell
,但这也没有任何区别。
该操作系统是Windows 10 Enterprise(10.0.17134),已应用所有更新。
Connect-AzureRmAccount -ServicePrincipal -CertificateThumbprint $CertificateThumbprint -ApplicationId $ApplicationId -TenantId $TenantId
$pax=Get-AzureKeyVaultSecret -VaultName $vaultName -Name $secretName
$cred = new-object System.Management.Automation.PSCredential ('FOOBAR',$pax.SecretValue)
Set-Location "C:\"
Start-Process PowerShell -Cred $cred -Verb Open -Wait -PassThru -FilePath "C:\Program Files (x86)\foo\bar\Launch.exe"
编辑以添加:
为便于说明,请注意,SecureString已存储在Azure中,如下所示:
Azure Set-AzureKeyVaultSecret -VaultName "FOO" -Name "BAR" -SecretValue (Get-Credential).Password