
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
스크립트에 자격 증명을 저장할 수 있습니다. 그런 다음PSCredential이의를 제기하다새로운 PSDrivecmdlet을 사용하여 공유에 연결합니다. 그러면 세션이 진행되는 동안 스크립트에서 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"