Eine Sache, die Sie tun können, ist das Passwort zu verschlüsseln und auf der Festplatte zu speichern. Dann können Sie diese Datei lesen und das verschlüsselte Kennwort in eine sichere Zeichenfolge konvertieren und daraus ein Berechtigungsobjekt erstellen. Beachten Sie, dass dies mit dem Konto ausgeführt werden muss, mit dem das Skript ausgeführt wird.
'$uper$secret1' | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Set-Content .\AccountPass.txt
Das wird Ihr Passwort auf der Festplatte in einer Textdatei speichern. Wenn Sie die Textdatei öffnen wird es in etwa so aussehen:
01000000d08c9ddf0115d1118c7a00c04fc297eb01000000b584d55e9c47c942904dd30531d3ad070000000002000000000003660000c0000000100000003060266c3c4333a41e7f0e92176fb3d50000000004800000a000000010000000a2c8bbb2a3666c092004bb5e66fd440320000000636a413a6905789e0f3521cea3d8703405897cd5948da955192bcccd08990ffc1400000068c1
5f8ac088ef0972dfce7d5a20ff3bbcdac4cc nun das Konto, das die Datei erstellt wird die einzige sein, die sie entschlüsseln kann, aber das Konto kann dann laufen:
$Password = Get-Content .\AccountPass.txt | ConvertTo-SecureString
$Creds = New-Object System.Management.Automation.PSCredential ("$env:UserDomain\$env:UserName",$Password)
Jetzt haben Sie ein Anmeldedatenobjekt, ohne ein Passwort im Klartext speichern zu müssen. Wie bereits erwähnt, ist das einzige Konto, das das Passwort in der Textdatei entschlüsseln kann, dasjenige, das die Textdatei generiert hat, und die Textdatei muss aktualisiert werden, wenn das Passwort geändert wird.
Hat jemand anderes vor, dieses Skript neben Ihnen zu verwenden? – TheIncorrigible1
Nur ich, aber andere können es sehen. – Ben
@ Die Lösung von TheMadTechnician funktioniert für Sie, aber das verschlüsselte Passwort ist nur auf Ihr Benutzerkonto auf dem Computer beschränkt, auf dem Sie es erstellen. Ich würde vorschlagen, einen Registrierungsschlüssel anstelle einer Datei für etwas dieser Art zu erstellen. – TheIncorrigible1