Erneute Authentifizierung einer Remote-Verbindung über ein PowerShell-Skript

Erneute Authentifizierung einer Remote-Verbindung über ein PowerShell-Skript

Ich habe ein PowerShell-Skript v1, das über einen UNC-Pfad eine Verbindung zu einem Remote-Server herstellt. Nach einem Neustart ist eine Authentifizierung erforderlich, da Windows sich dies anscheinend nicht merkt und das Skript daher keine Verbindung zum Remote-Server herstellen kann.

Wie wird diese Situation programmgesteuert in einem PowerShell-Skript behandelt?

Ich muss

1) erneut authentifizieren

2) Verbindung zum Remote-Server über UNC-Pfad herstellen

Vielleicht der "net"-Befehl???

Wie kann ich dies in meinem PowerShell-Skript tun?

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
    [...]


 }

Danke

Antwort1

Sie können Anmeldeinformationen in Ihren Skripten speichern. Sie können dann diePSCredentialObjekt mit demNeu-PSDriveCmdlet zum Herstellen einer Verbindung mit der Freigabe. Das PSDriveInfo-Objekt ist dann während der Dauer der Sitzung für Ihr Skript zugänglich.

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

verwandte Informationen