
我有一個透過 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
您可以將憑證儲存在腳本中。然後您可以使用PS憑證對象與新PSDrive用於連接到共享的 cmdlet。然後,在會話期間您的腳本就可以存取 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"