2013-04-19 19 views
9

Ten stos   przelewowy pytanie sugeruje polecenie, które wygląda tak, jakby to powinno działać, ale tak nie jest (że odpowiedź zostanie usunięty teraz, choć):Jak zakończyć polecenie RUNAS w jednej linii

Single line command for Run as a different user on Window 7 that contains a password also

komenda byłoby:

echo PaSsWoRd | runas /user:Administrator cmd 

jednak mówi:

nieznana nazwa użytkownika lub złe hasło.

Dane są jednak poprawne. Na przykład, jeśli było uruchomić:

runas /user:Administrator 

... i na następnej linii, jeśli Wpisałem w PaSsWoRd, to działa bez problemu.

+0

Co powiecie na "runas/user: Administrator" cmd "<" C: \ pass.txt "' – Todd

Odpowiedz

15

The runas command does not allow a password on its command line. Jest to zgodne z projektem (a także powodem, dla którego nie można wprowadzić do niego hasła jako danych wejściowych). Raymond Chen mówi ładnie:

Program RunAs żąda, aby wpisać hasło ręcznie. Dlaczego nie przyjmuje hasła w wierszu poleceń?

To była świadoma decyzja. Gdyby udało się przekazać hasło w linii poleceń, ludzie zaczęliby umieszczać hasła w plikach wsadowych i skryptach logowania, co jest zabawnie niebezpieczne.

Innymi słowy, brakuje tej funkcji, aby usunąć pokusę niezabezpieczonego używania tej funkcji.

Bill

+1

Co całkowicie się kończy. To bardzo męczące, że pomysł "bezpieczeństwa" jest wywoływany przez projektantów oprogramowania, którzy starają się być mądrzejsi od użytkownika. Jeśli użytkownik chce umieścić hasło, to jest to jego przywilej. Zamiast tego wszyscy odwiedzający ten link pójdą i przeszukają inne sposoby wykorzystania ekwiwalentu SUDO w oknach za pomocą innych niesmacznych środków, zginając zasady i marnując czasy. Zamiast jednego wrażliwego pliku wsadowego, zamierzam go wysłać, zmniejszając ogólne bezpieczeństwo komputera, aby "sudo" działało. Projekt nigdy nie powinien być mądrzejszy od użytkownika. Nie udało ci się! –

+0

1) Nie podjąłem tej decyzji, więc powtarzanie mi tego jest bezcelowe. 2) Microsoft zdecydowanie podjął właściwą decyzję. Osadzanie haseł w skrypcie jest wyjątkowo złym pomysłem, z głównego powodu podanego już w odpowiedzi. –

+0

można psexec z Microsoft's sysinternals np. psexec -user MyUser -p MyPassword "cmd" – user797717

0

Jeśli tak zaakceptować wejście rurami następnie w tym przypadku swoją „Hasło” miałoby spacją.

To coś, na co trzeba uważać.

Powiązane problemy