Mam skrypt, który piszę, który tworzy połączenie z usługą SOAP. Po nawiązaniu połączenia muszę podać nazwę użytkownika/hasło przy każdym poleceniu, które wysyłam. Mam problem jest, że gdy używam odczytu-host to zrobić, moje hasło jest pokazany w postaci zwykłego tekstu i pozostaje w powłoce:Jak mogę użyć funkcji read-host w programie powershell, aby zaakceptować hasło do usługi zewnętrznej?
PS C:\Users\Egr> Read-Host "Enter Pass"
Enter Pass: MyPassword
MyPassword
Gdybym ukryć go -AsSecureString wartość nie może być przekazywana do usługi, ponieważ jest to teraz obiekt System.Security.SecureString:
PS C:\Users\gross> Read-Host "Enter Pass" -AsSecureString
Enter Pass: **********
System.Security.SecureString
Kiedy to przekażę, to nie działa. Nie dbam o to, aby hasła były przekazywane do usługi w postaci zwykłego tekstu, po prostu nie chcę, aby po wprowadzeniu hasła trzymały się na powłoce użytkownika. Czy można ukryć dane wejściowe Read-Host, ale czy nadal przechowywane jest hasło jako tekst jawny? Jeśli nie, czy istnieje sposób, w jaki mogę przekazać obiekt System.SecureSecureString jako tekst jawny?
Dzięki
który pracował, dzięki! Z ciekawości, gdzie znajdę takie rozwiązanie, gdybym sam wyglądał? – EGr
Dobrze powiedział @Graimer. Musiałem przeprowadzić podobną operację jakiś czas temu, więc przeszukałem Google i znalazłem odpowiedź. :-) –