0

別のユーザーとして (Jenkins 経由で) リモートで PowerShell スクリプトを実行できるようにする必要があります。Jenkins ジョブとして実行されるGet-Credentialため、私にとってはオプションではありません。以下は私が作成したスクリプトですが、単に機能しません。

$uname='domain\username'
$pwd='password'
$passw=Convertto-SecureString -String $pwd -AsPlainText -force
$mycred=New-object -TypeName System.Management.Automation.PSCredential -ArgumentList $uname, $passw

Invoke-Command -FilePath "C:\test_scripts\fetchquery.ps1" -Authentication default -Credential $mycred -computername localhost
4

2 に答える 2

2

資格情報オブジェクトを作成します。

$username = 'domain\username'
$Password = 'password' | ConvertTo-SecureString -Force -AsPlainText
$credential = New-Object System.Management.Automation.PsCredential($username, $Password)

コードでは、ローカルホストで実行するため、保存された資格情報を使用して Powershell セッションを開始します。

Start-Process powershell -argumentlist '-executionpolicy','bypass','-file',"C:\test_scripts\fetchquery.ps1"' -Credential $credential 

スクリプトをリモートで実行するには (Localhost を使用しないでください)

Invoke-Command -Computername 'Computer' `
-FilePath C:\test_scripts\fetchquery.ps1 -ArgumentList PowerShell `
-Cred $Credential
于 2015-09-09T09:02:16.073 に答える
-1

これを試して:

Start-Process powershell -WindowStyle 'Hidden' -ArgumentList '-executionpolicy', 'bypass', '-file', $scriptFullName -Credential $C
于 2016-08-16T17:17:55.323 に答える