Mam skrypt Powershell, który będzie uruchamiany za pomocą narzędzia do automatyzacji na wielu serwerach. Działa dobrze na komputerach z systemem Windows, ponieważ połączenia zdalne korzystają z konta usługi tego narzędzia bez potrzeby monitowania lub ujawniania jakichkolwiek poświadczeń w kodzie. Ten skrypt działa również na komputerach z systemem Linux za pośrednictwem SSH przy użyciu pakietu SharpSSH. SharpSSH nie korzysta automatycznie z poświadczeń użytkownika Powershell, ale wymaga nazwy użytkownika i hasła, pliku kluczy RSA lub obiektu PSCredential. Nie mogę pytać o dane uwierzytelniające za pomocą Get-Credential, ponieważ jest on uruchamiany przez narzędzie do automatyzacji. Nie chcę ujawniać nazwy użytkownika i hasła w kodzie ani mieć klucza RSA. Chciałbym skonstruować obiekt PSCredential z bieżącego użytkownika Powershell (konto usługi). Próbuję [System.Net.CredentialCache] :: DefaultNetworkCredentials pokazuje puste, a [System.Security.Principal.WindowsIdentity] :: GetCurrent() nie dostarcza potrzebnego mi obiektu lub informacji.Uzyskiwanie bieżącego obiektu referencji użytkownika w Powershell bez pytania
Czy ktoś ma metodę tworzenia obiektu PSCredential od bieżącego użytkownika? A może zupełnie inna alternatywa dla tego problemu?
Wielkie dzięki!
Ahh, to niefortunne. Po kilku dyskusjach i badaniach pójdziemy za pomocą klucza RSA. W przyszłości będzie to w przyszłości zapewniało więcej. Dzięki, Taylor! – Beege
Mówisz, że jeśli użytkownik jest częścią AD, możesz uzyskać obiekt poświadczeń; czy to jest poprawne? Próbuję to zrobić (tytuł pytania) w systemie Windows. – ryanwebjackson