Get-ChildItem
コマンドレットを使用してPowerShellスクリプトを使用して、リモートフォルダからファイルの一覧を取得しています。 すべての私は、サーバー スクリプトでスクリプトを実行していたときには良い作業:PowerShellスクリプトをC言語で実行しているときにGet-ChildItemが動作しない
$serverip = someremoteip
$mainbackuplocation= someremotelocation
$folder = someremotefolder
$remotefolder = Get-ChildItem "\\$serverip\\d$\\$mainbackuplocation\\$folder\\wwwroot" |
Out-File d:\log.txt
しかし、私はC#の通過スクリプトを実行しようとしていた場合、すべてのファイルへの出力はありません。
SecureString securepassword = String2SecureString(password);
PSCredential credential = new PSCredential(userName, securepassword);
WSManConnectionInfo connectionInfo = new WSManConnectionInfo(target,shell,credential);
Runspace remote = RunspaceFactory.CreateRunspace(connectionInfo);
remote.Open();
PowerShell PowerShellInstance = PowerShell.Create();
PowerShellInstance.Runspace = remote;
PowerShellInstance.AddScript("D:\\backup\\test.ps1");
var result = PowerShellInstance.Invoke();
ログファイルがサーバー上に作成されているため、PowerShellスクリプトは実行されていますが、dirコマンドは何もしません。
私が間違っていることを知りたいですか?
おそらく悪名高い[第二ホップ問題](https://blogs.technet.microsoft.com/heyscriptingguy/2012/11/14/enable-powershell-second-hop-functionality -with-credssp /)、あなたはC#コードからスクリプトをリモートで実行しているからですか? –
は、スクリプトがサーバー上で実行されているので、私はちょうどC# –
から 'target'を起動していないので、別のホストではないと思いますか? 'userName'は' $ serverip'に対して管理者権限を持っていますか? –