Ich habe ein Beispiel gesehen, das Import / Export-CLIXML verwendet.
Dies sind meine Lieblingsbefehle für das Problem, das Sie lösen möchten. Und der einfachste Weg, sie zu benutzen, ist.
$passwordPath = './password.txt'
if (-not (test-path $passwordPath)) {
$cred = Get-Credential -Username domain\username -message 'Please login.'
Export-Cli -InputObject $cred -Path $passwordPath
}
$cred = Import-CliXML -path $passwordPath
Wenn die Datei lokal nicht vorhanden ist, werden Sie aufgefordert, die Anmeldeinformationen einzugeben und zu speichern. Dies wird eine dauern[pscredential]
Objekt ohne Probleme verwendet und die Anmeldeinformationen werden als sichere Zeichenfolge ausgeblendet.
Verwenden Sie zum Schluss einfach die Anmeldeinformationen wie gewohnt.
Restart-Computer -ComputerName ... -Credentail $cred
Hinweis zur Sicherheit :
Speichern Sie Ihre Anmeldeinformationen sicher auf der Festplatte
Wenn Sie die Lösung lesen, sind Sie möglicherweise zunächst vorsichtig, wenn Sie ein Kennwort auf der Festplatte speichern. Während es natürlich (und umsichtig) ist, vorsichtig zu sein, Ihre Festplatte mit vertraulichen Informationen zu verschmutzen, verschlüsselt das Cmdlet Export-CliXml Anmeldeinformationsobjekte mithilfe der Windows-Standard-Datenschutz-API. Dadurch wird sichergestellt, dass nur Ihr Benutzerkonto den Inhalt ordnungsgemäß entschlüsseln kann. In ähnlicher Weise verschlüsselt das Cmdlet ConvertFrom-SecureString auch das von Ihnen angegebene Kennwort.
Bearbeiten: Lesen Sie einfach die ursprüngliche Frage erneut. Das oben genannte funktioniert, solange Sie das [pscredential]
auf der Festplatte initialisiert haben . Das heißt, wenn Sie das in Ihr Skript einfügen und das Skript ausführen, sobald es diese Datei erstellt, und dann das Skript unbeaufsichtigt ausführen, ist dies einfach.