Verwenden des Get-Credential-Cmdlets in Windows PowerShell-Skripts

Abgeschlossen

Es hat sich bewährt, dass Administrator*innen über zwei Benutzerkonten verfügen. Jeder Administrator sollte über ein Standardbenutzerkonto verfügen, das für alltägliche Aktivitäten verwendet wird, sowie über ein zweites Konto mit Administratorberechtigungen. Durch die Trennung dieser Rollen können versehentliche Schäden an Computersystemen vermieden und die potenziellen Auswirkungen von Schadsoftware begrenzt werden. Mit dem Get-Credential-Cmdlet können Sie das Administratorkonto verwenden, während Sie noch bei einem Standardbenutzerkonto angemeldet sind.

Für viele Skripts, die von Administrator*innen ausgeführt werden, sind erhöhte Rechte erforderlich. Beispielsweise sind für ein Skript, mit dem AD DS-Benutzerkonten (Active Directory Domain Services) erstellt werden, Administratorberechtigungen erforderlich. Auch zum Abfragen von Ereignisprotokollen von einem Remotecomputer aus sind möglicherweise Administratorberechtigungen erforderlich.

Eine Möglichkeit, die Berechtigungen beim Ausführen eines Skripts zu erhöhen, besteht darin, beim Öffnen der Windows PowerShell-Eingabeaufforderung die Option Als Administrator ausführen zu verwenden. Wenn Sie Als Administrator ausführen verwenden, werden Sie zur Eingabe von Anmeldeinformationen aufgefordert. Dadurch werden für alle über diese Windows PowerShell-Eingabeaufforderung ausgeführten Aktionen die angegebenen Anmeldeinformationen verwendet.

Alternativ können Sie beim Ausführen eines Skripts anstelle der Verwendung von Als Administrator ausführen das Skript zur Eingabe von Anmeldeinformationen auffordern lassen. Bei vielen Windows PowerShell-Cmdlets können alternative Anmeldeinformationen angegeben werden. Auf diese Weise können die Anmeldeinformationen, die das Skript erhält, zum Ausführen einzelner Befehle im Skript verwendet werden. Mithilfe von Get-Credential können Sie zur Eingabe von Anmeldeinformationen auffordern. Die Syntax für die Verwendung des Get-Credential-Cmdlets lautet wie folgt:

$cred = Get-Credential
Set-ADUser -Identity $user -Department "Marketing" -Credential $cred

Der Standardtext im Popupfenster lautet „Geben Sie Ihre Anmeldeinformationen ein“. Diesen Text können Sie mithilfe des -Message-Parameters aufschlussreicher formulieren. Zudem können Sie mithilfe des -UserName-Parameters das Feld Benutzername ausfüllen.

Speichern von Anmeldeinformationen mithilfe von „Export-Clixml“

Sie können Anmeldeinformationen in einer Datei speichern, damit sie später ohne Aufforderung zur erneuten Eingabe wiederverwendet werden können. Verwenden Sie zum Speichern von Anmeldeinformationen das Cmdlet Export-Clixml. Bevor ein Anmeldeinformationsobjekt in einer XML-Datei gespeichert wird, wird es mithilfe von Export-Clixml verschlüsselt. Verwenden Sie zum Speichern eines Anmeldeinformationsobjekts in einer Datei die folgende Syntax.

$cred | Export-Clixml C:\cred.xml

Die von Export-Clixml verwendete Verschlüsselung ist benutzerspezifisch und computerspezifisch. Das bedeutet: Wenn Sie die verschlüsselten Anmeldeinformationen speichern, können nur Sie die verschlüsselten Anmeldeinformationen abrufen, und zwar nur auf dem Computer, auf dem Sie sie ursprünglich gespeichert haben. Durch diese Vorgehensweise sind die Anmeldeinformationen zwar sicher, können jedoch nicht für andere Benutzer*innen freigegeben werden.

Speichern von Anmeldeinformationen mithilfe des Moduls „SecretManagement“

Microsoft hat das Modul SecretManagement veröffentlicht, das Sie zum Speichern und Abrufen von Anmeldeinformationen verwenden können. Diese Methode eignet sich besser zum Speichern von Anmeldeinformationen, die für mehrere Benutzer*innen und Computer freigegeben werden können. Die im Modul SecretManagement enthaltenen Cmdlets können auf Anmeldeinformationen aus mehreren geheimen Tresoren zugreifen.

Einige bekannte Tresore:

  • KeePass
  • LastPass
  • CredMan
  • Azure Key Vault

Das SecretManagement-Modul ist im PowerShell-Katalog verfügbar. Das Modul SecretManagement können Sie mit dem folgenden Befehl installieren:

Install-Module Microsoft.PowerShell.SecretManagement

Microsoft stellt außerdem das Modul SecretStore bereit, mit dem Sie einen lokalen geheimen Tresor zum Speichern von Anmeldeinformationen erstellen können. Ähnlich wie bei der Verwendung von Export-Clixml wird der Tresor jedoch auf dem lokalen Computer und im aktuellen Benutzerkontext gespeichert.