Volver a autenticar una conexión remota mediante un script de PowerShell

Volver a autenticar una conexión remota mediante un script de PowerShell

Tengo un script de PowerShell v1 que se conecta a un servidor remoto a través de una ruta UNC. Después de reiniciar, se necesita autenticación porque aparentemente Windows no recuerda, por lo que el script no puede conectarse al servidor remoto.

¿Cómo se maneja esta situación mediante programación desde un script de PowerShell?

Necesito

1) volver a autenticar

2) conectarse al servidor remoto a través de la ruta UNC

¿Quizás el comando "net"?

¿Cómo puedo hacer esto en mi script de 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
    [...]


 }

Gracias

Respuesta1

Puede almacenar credenciales en sus scripts. Luego puedes usar elPSCredencialobjeto con elNuevo-PSDrivecmdlet para conectarse al recurso compartido. El script podrá acceder al objeto PSDriveInfo durante la duración de la sesión.

$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"

información relacionada