PS1 バッチ ファイル スクリプトにリモート サーバー認証を追加しようとしています。
だから私はこれを行うことができます:
Copy-Item $src $destination -Credential $Creds
今のところスクリプトと同じディレクトリにあるパスワードファイルを作成しました。単にパスワード文字列が含まれています。
プロンプトを表示する行:
Read-Host -AsSecureString | ConvertFrom-SecureString | Out-File password.txt
Read-Host コマンドを削除すると、プロンプトが消え、スクリプトが期待どおりに実行されます。
質問 リモート サーバー認証を行う正しい方法は何ですか?
スクリプトのコンテキストでの新しいコードは次のとおりです。
[...]
if(-not(Test-Path $destination)){mkdir $destination | out-null}
Read-Host -AsSecureString | ConvertFrom-SecureString | Out-File password.txt
$PW = Get-Content password.txt | ConvertTo-Securestring
$Creds = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist "SERVER02\Administrator",$PW
ForEach ($sourcefile In $(Get-ChildItem $source | Where-Object { $_.Name -match "Daily_Reviews\[\d{1,12}-\d{1,12}\].journal" }))
{
[...]
Copy-Item $src $destination -Credential $Creds
[...]
}