
Eu tenho um script do PowerShell v1 que se conecta a um servidor remoto por meio do caminho UNC. Após uma reinicialização, a autenticação é necessária porque o Windows aparentemente não se lembrará, portanto o script não poderá se conectar ao servidor remoto
Como essa situação é tratada programaticamente em um script do PowerShell?
Preciso
1) reautenticar
2) conecte-se ao servidor remoto via caminho UNC
Talvez o comando "net"???
Como posso fazer isso no meu script do 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
[...]
}
Obrigado
Responder1
Você pode armazenar credenciais em seus scripts. Você pode então usar oCredencial PSobjeto com oNovo PSDrivecmdlet para se conectar ao compartilhamento. O objeto PSDriveInfo fica então acessível ao seu script durante a duração da sessão.
$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"