0

次を含むpowershellスクリプトがあります

$username = 'username'
$password = 'password'
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
start-process -FilePath $deploymentAppPath -Credential $cred

しかし、これを実行すると、次のエラーが発生します。

start-process <<<<  -FilePath $deploymentAppPath -Credential $cred
+ CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand

おそらく明らかではないと思いますが、ここでの最終的な目標は、指定したユーザー資格情報を使用してバッチ ファイルを呼び出すことです。

4

2 に答える 2

1

セキュアストリングの使用を削除することから始めます。私の経験では、いくつかのことがうまくいかないようです。

あなたのプロセスはローカルであるように見えるので、ネットワーク経由で u/p を送信していません。セキュアストリングは本当に必要ですか?

于 2012-07-23T15:07:31.307 に答える
1

コマンドを使用するための適切なバージョンの Windows PowerShell がないと思いますstart-process。これを実行したところ、設定しなかった明らかな -FilePath エラー以外は機能しました。基本的な「コマンドが存在しません」という例外が発生しているようです。バージョン番号を確認するには、get-hostコマンドレットを使用します。実行get-host | select versionして、コンソールに 1.0 が出力された場合は、ここに移動して 2.0 バージョンを取得する必要があります。

于 2012-07-23T19:54:18.563 に答える