Ich habe ein Powershell-Skript, das durch ein Automatisierungstool für mehrere Server ausgeführt wird. Es funktioniert problemlos auf Windows-Computern, da die Remoteaufrufe das Dienstkonto des Tools verwenden, ohne dass Anmeldeinformationen im Code angefordert oder angezeigt werden müssen. Dieses Skript läuft auch mit dem SharpSSH-Paket über SSH gegen Linux-Maschinen. SharpSSH verwendet nicht automatisch die Anmeldeinformationen des Powershell-Benutzers, sondern benötigt entweder einen Benutzernamen und ein Kennwort, eine RSA-Schlüsseldatei oder ein PSCredential-Objekt. Ich kann mithilfe von Get-Credential keine Anmeldeinformationen anfordern, da sie über das Automatisierungstool ausgeführt werden. Ich möchte den Benutzernamen und das Passwort im Code nicht offen legen oder einen RSA-Schlüssel da draußen sitzen lassen. Ich möchte ein PSCredential-Objekt vom aktuellen Powershell-Benutzer (dem Dienstkonto) erstellen. Wenn Sie versuchen, [System.Net.CredentialCache] :: DefaultNetworkCredentials anzuzeigen, wird ein Leerzeichen angezeigt, und [System.Security.Principal.WindowsIdentity] :: GetCurrent() stellt das Objekt oder die Informationen, die ich benötige, nicht bereit.Erhalte das Berechtigungsobjekt des aktuellen Benutzers in Powershell ohne Aufforderung
Hat jemand eine Methode zum Erstellen eines PSCredential-Objekts vom aktuellen Benutzer? Oder vielleicht eine ganz andere Alternative für dieses Problem?
Vielen Dank!
Ahh, das ist bedauerlich. Nach einigen Diskussionen und Nachforschungen werden wir uns mit dem RSA-Schlüssel beschäftigen. Es wird am Ende noch mehr in der Zukunft ermöglichen. Danke, Taylor! – Beege
Sie sagen, wenn der Benutzer Teil von AD ist, können Sie ein Anmeldedatenobjekt erhalten; Ist das korrekt? Ich versuche dies (der Titel der Frage) unter Windows. – ryanwebjackson