
UNC パス経由でリモート サーバーに接続する PowerShell v1 スクリプトがあります。再起動後、Windows が記憶しないためスクリプトがリモート サーバーに接続できないため認証が必要になります。
この状況は PowerShell スクリプト内からプログラム的にどのように処理されるのでしょうか?
する必要がある
1) 再認証
2) UNCパス経由でリモートサーバーに接続する
おそらく「net」コマンドでしょうか???
PowerShell スクリプトでこれを実行するにはどうすればよいですか?
Get-ChildItem -Path "\\REMOTESERVER\Data\Files" -Filter "*.journal" |
Where-Object { $_.Name -match 'Daily_Reviews\[\d{1,12}-\d{1,12}\].journal' } |
Sort-Object -Property CreationTime | ForEach-Object
{
$sourcefile = $_.Name
[...]
}
ありがとう
答え1
スクリプトに認証情報を保存することができます。PSC 資格情報オブジェクト新しいPSDriveコマンドレットを使用して共有に接続します。その後、セッション中はスクリプトから PSDriveInfo オブジェクトにアクセスできるようになります。
$username = 'domain\username'
$password = 'secret'
$password = $password | ConvertTo-SecureString -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($username, $password)
New-PSDrive -Name journals -PSProvider FileSystem -Root '\\remoteserver\data\files' -Credential $credential | ForEach-Object { Set-Location "$_`:" }
Get-ChildItem -Filter "*.journal"