Korzystam z aplikacji, która wymaga kilku prób zalogowania się (z powodu przeciążenia serwerów).
Ta aplikacja nie ma funkcji „zapamiętaj moje hasło”.
Dlatego chciałbym utworzyć skrypt (najlepiej skrypt .bat), który najpierw skopiowałby moje hasło do schowka - aby nie musiałem ponownie wpisywać hasła przy każdej próbie logowania - a następnie uruchomić aplikację ( łatwa część)
Czy jest to możliwe dzięki poleceniu MS-DOS? Czy potrzebuję trochę exe lub innego języka skryptowego?
Oczywiście szukam najszybszego rozwiązania do wdrożenia.
Z góry dziękuję za twoje pomysły
Odpowiedzi:
http://www.petri.co.il/software/clip.zip
Uwaga - Link Petri jest obecnie nieczynny. Dostał go z Windows Server 2003, ale widzę też clip.exe na Windows 7. Jest również w wersjach Windows po Windows 7.
EDYCJA
Najważniejsze jest to polecenie klipu, ale jak wskazał Asu, linia podobna
echo abc
również wyśle \ r \ n (która jest nową linią). Jeśli chcesz tego uniknąć, to bardzo standardowy problem rozwiązany przez zastąpienieecho texttoecho
goecho|set/p=texttoecho
SoC:\>echo|set/p=texttoecho|clip
dalsze dodawanie
Możesz oczywiście wkleić prawym przyciskiem myszy, ale także wkleić z wiersza poleceń.
unxutils (starożytna rzecz, która nie jest utrzymywana przez ponad dekadę) ma gclip i pclip (nie wydaje się, aby były w gnuwin32), z tymi, które można kopiować i wklejać za pomocą wiersza poleceń.
Uwaga: gnuwin32 może również nie być tak zaktualizowany.
Uwaga - możesz po prostu skopiować wszystkie pliki wbin do np.
c:\unxutils
, a pliki EXE nie mają zależności / bibliotek dll.i oczywiście możesz zrobić pclip> aa, aby wkleić do pliku. lub pclip | somecmd
źródło
opcja barlop nie jest całkowicie poprawna, ponieważ
echo
doda znak nowego wiersza do hasła, łamiąc je.Zamiast tego musisz użyć:
W ten sposób ciąg zostanie skopiowany do schowka bez zmian.
źródło
AutoIt v3 może zautomatyzować okna, co sprawia, że próba kilku prób logowania jest łatwa.
Mają dobre przykłady, dokumentację i solidną społeczność, która może pomóc w problemach ze skryptem.
Chociaż lepiej byłoby zapytać, czy mogą rozwiązać problem z przeciążonymi serwerami, ponieważ automatyzacja żądań może tylko pogorszyć ich problem ...
źródło
Sam spotkałem podobny scenariusz i oto jak go rozwiązałem.
Najpierw przechowuję moje hasła w Windows Credential Vault (Windows Vista i nowszy). W tym celu używam biblioteki kluczy Pythona, ale równie dobrze możesz użyć czegoś takiego jak CredMan (Powershell) do zarządzania nimi. Korzystanie z usługi Windows Credential Vault oznacza, że hasło nigdy nie musi być wpisywane w wierszu polecenia, więc jest mało prawdopodobne, aby wyciekło (na przykład poprzez historię wiersza poleceń).
Po drugie, używam narzędzia takiego jak klip, aby skopiować hasło do schowka.
Może się okazać, że chcesz połączyć te dwa elementy ze swoim własnym skryptem PowerShell, który pobiera tekst z menedżera poświadczeń i umieszcza go w schowku. Skrypt może być tak prosty, jak:
Następnie wystarczy dodać hasło do „Some System” w Windows Credential Manager, a ten skrypt magicznie umieści hasło w schowku na polecenie.
źródło
powershell -c <command>
z CMD, więc jeśli faktycznie musi to być plik wsadowy, może użyć czegoś takiego jakpowershell -c [Windows.Forms.Clipboard]::SetText(%PASSWORD%)
po użyciu CMD do załadowania hasła do (tymczasowej, proszę!)% PASSWORD% zmiennej.Najłatwiejszym sposobem na to jest:
ECHO | SET /P=mypassword | CLIP
Możesz edytować ten skopiowany tekst, kiedy tylko chcesz edytować ten plik za pomocą Notatnika.
źródło