Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch: Passwort verdeckt eingeben

Frage Microsoft Windows Tools

Mitglied: ham0099

ham0099 (Level 1) - Jetzt verbinden

05.01.2006, aktualisiert 21.05.2007, 45224 Aufrufe, 14 Kommentare

Batchdatei mit Passwortabfrage zur Verbindung von Netzlaufwerken

Habe eine Batchdatei gemacht die Username und Passwort abfragt und anschliessend die Netzlaufwerke verbindet ohne vorherige Domainenanmeldung. Störend ist im moment nur, dass die Passwortabfrage nicht verdeckt erfolgt. Hat jemand so ein Tool mit dem ich Umgebungsvariablen mit verdeckter Eingabe (Ersatzzeichen z.Bsp. Stern) definieren kann.

Mit freundlichen Grüßen Peter

Batchdatei mein Bsp.

@Echo off
Echo Laufwerke verbinden
Echo.
Echo Username:
set /P UNAME=
Echo Password:
set /P PW=
if not exist g:\. net use G: \\server\resource /USER:domain\%UNAME% %PW% /PERSISTENT:NO
REM Bemerkung:Die beiden letzten Zeilen gehören zusammen
pause
Mitglied: Biber
06.01.2006 um 01:36 Uhr
Moin ham0099,

na, ein witziger Titel für Deine Frage...

Es gibt Freewareutilies für den Zweck, aber ich kann Dir auch eine McGuyver-Lösung mit Bordmitteln posten.

...(im Batch)
...
Echo.
Echo Username:
set /P UNAME=
Echo Password:
Set pw=
format/f:160 a: >%temp%\#pass#
for /f "tokens=6" %a in ('find "EINGABETASTE" %temp%\#pass#') do Set pw=%%a
del %temp%\#pass#
if not exist g:\. net use G: \\server\resource /USER:domain\%UNAME% %PW% /PERSISTENT:NO
~~

Etwas "üblicher" mit Ausgabe von einem Sternchen je eingegebenen Zeichen ginge es mit einem kleinen VBS/JS-Schnipsel.
Der ist aber bestimmt schon hundertfach erfunden, suche doch mal im Netz nach GetHidden.vbs oder GetPass.vbs oder ähnlich.

HTH Biber
P.S. Wäre nett, wenn Du Deinen Titel in "Batch: Passwort verdeckt eingeben" oder ähnlich änderst.
Bitte warten ..
Mitglied: fpschultze
06.01.2006 um 22:14 Uhr
Ich habe das vor zwei, drei Jahren einmal ganz pragmatisch gelöst. NET USE fordert zur Kennworteingabe auf, wenn in der Befehlszeile ein Stern als Kennwort übergeben wird. Während der Eingabe des Kennwortes werden allerdings keine Ersatzzeichen wie Sterne angezeigt, was den einen oder anderen Anwender verwirren könnte.

01.
... 
02.
set /p MyName=Username:  
03.
echo. 
04.
echo Hallo %MyName%. 
05.
echo. 
06.
echo Sie werden unten aufgefordert, Ihr Kennwort einzugeben. 
07.
echo Das Kennwort wird bei der Eingabe nicht angezeigt! 
08.
echo. 
09.
net use g: \\server\sharename * /user:%MyName% 
10.
...
Weitere Netzlaufwerke können nun ohne erneute Angabe von Benutzerkennung und Kennwort verbunden werden - sofern der im ersten NET USE-Befehl angegebene Benutzer auch auf die anderen Ressourcen berechtigt ist.

Nur so am Rande: Wenn man die mit NET USE hergestellte Netzlaufwerksverbindung nicht im Profil speichern möchte, wird bekanntlich die Option /PERSISTENT:NO verwendet. Bei einer Folge von NET USE-Befehlen kann man sich Tipparbeit sparen und vor den Laufwerksmappings einmalig die folgende Befehlszeile ausführen:

01.
Net Use /PERSISTENT:NO
Bitte warten ..
Mitglied: Biber
06.01.2006 um 22:27 Uhr
>>Nur so am Rande: ...

Genauso beiläufig bemerkt:
Noch kürzer geht es mit der neulich von einem Bremer Bätcher dokumentierten Kurzform:

Net Use /P:No (umgekehrt: Net Use /P:Yes; Status anzeigen: .../P)

Grüße und Danke für Deine Variante
Biber
Bitte warten ..
Mitglied: fpschultze
07.01.2006 um 00:35 Uhr
Moin Moin nach Bremen,

Net Use /P:No (umgekehrt: Net Use /P:Yes; Status anzeigen: .../P)

cool, den kannte ich noch nicht.

Hasta luego
Bitte warten ..
Mitglied: ham0099
10.01.2006 um 08:48 Uhr
Besten Dank. All eure Infos waren für mir hilfreich.

Gruss Peter
Bitte warten ..
Mitglied: mghelp
21.05.2007 um 15:04 Uhr
http://home.arcor.de/homemg/main/hilfe/lantool/

http://www.c-plusplus.de/forum/viewtopic-var-t-is-49050.html (Erklärung für Passwörter als Sterne).

Dies ein selbsterstelltes Programm für Netzlaufwerke (Aber 1. Version).

Es wird weiterentwickelt, geschrieben in c++ (Quelltext auf Anfrage)

Gruß mghelp
Bitte warten ..
Mitglied: tDwtp416
23.06.2011 um 19:22 Uhr
Hallo,

ist mein erstes mal hier. also hoffentlich geht alles was ich will...
Ich habe mich knapp ein jahr (mit großen Pausen) damit beschäftigt.
Wer Windows Vista/7 sollte kein Problem damit haben:

Choice in eine Schleife setzen:
REM --- pw.bat START --- 
 
@echo off 
:start 
cls 
choice /C:1234567890abcdefghijklmnopqrstuvwxyzä /n /m "Passwort: %star%" 
REM VORSICHT! ä NICHT in eine .bat Datei einfach schreiben! es ist KEIN "ä" ich habe es via könsole echo äöü>>temp.txt und dann aus temp.txt rauskopiert 
REM OPTIONEL: %star% 
set now=%errorlevel% 
set now=0%now% 
set now=%now:~-2,2% 
set test=%test%$%now% 
cls 
REM OPTIONAL: set star=%star%* 
if "%now%"=="37" goto ende 
goto start 
:ende 
call trpw.bat 
REM trpw steht für "Translate Password" 
 
REM --- pw.bat ENDE --- 
 
REM --- trpw.bat START --- 
 
@echo off 
 
if not defined test goto failed 
 
set test=%test:$01=1% 
set test=%test:$02=2% 
set test=%test:$03=3% 
set test=%test:$04=4% 
set test=%test:$05=5% 
set test=%test:$06=6% 
set test=%test:$07=7% 
set test=%test:$08=8% 
set test=%test:$09=9% 
set test=%test:$10=0% 
set test=%test:$ä=37% 
set test=%test:$11=a% 
set test=%test:$12=b% 
set test=%test:$13=c% 
set test=%test:$14=d% 
set test=%test:$15=e% 
set test=%test:$16=f% 
set test=%test:$17=g% 
set test=%test:$18=h% 
set test=%test:$19=i% 
set test=%test:$20=j% 
set test=%test:$21=k% 
set test=%test:$22=l% 
set test=%test:$23=m% 
set test=%test:$24=n% 
set test=%test:$25=o% 
set test=%test:$26=p% 
set test=%test:$27=q% 
set test=%test:$28=r% 
set test=%test:$29=s% 
set test=%test:$30=t% 
set test=%test:$31=u% 
set test=%test:$32=v% 
set test=%test:$33=w% 
set test=%test:$34=x% 
set test=%test:$35=y% 
set test=%test:$36=z% 
set test=%test:$37=% 
 
set password=%test% 
goto unset 
 
:failed 
cls 
echo Setting the password has failed! 
pause>nul 
 
:unset 
set test= 
 
REM --- trpw.bat ENDE ---
%test% ist die Passwortvariable die von pw.bat übergeben wird.
%test% wird in %password% übertragen und dann gelöscht
D.H.: es kommt am ende die Variable %password% raus
das doofe an der sache ist (wie man vielleicht sieht) man muss mit drücken auf "ä" bestätigen.
Ich versuche zurzeit eine umgehung davon. Wenn es klappt melde ich mich.
erfahrene Batch-scripter werden sich das anpassen können sollen

Wer Choice.exe NICHT hat einfach downloaden.
Wenn ich zeit habe werde ich eine .zip erstellen und diese dann uploaden. Choice wird !nicht! enthalten sein

OHNE Choice.exe:
Choice.exe entweder in C:\Windows\system32\ kopieren oder in den Startordner der Batch!
NICHT in das gleiche verzeichnis wie pw.bat oder trpw.bat wenn diese nicht im Startverzeichnis sind!

Wäre froh wenn das jemand vereinfachen könnte. Die For-Schleife will bei mir nicht so recht...
Wäre auch schön wenn jmd antworten würde!
Bitte warten ..
Mitglied: activedirectory
30.04.2012 um 15:55 Uhr
01.
@echo off 
02.
set pwchars=12 
03.
:pwschleife 
04.
choice /c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 /n /cs /m "Passwort: %stern%" 
05.
cls 
06.
if %errorlevel% equ 1 set pw=%pw%a 
07.
if %errorlevel% equ 2 set pw=%pw%b 
08.
if %errorlevel% equ 3 set pw=%pw%c 
09.
if %errorlevel% equ 4 set pw=%pw%d 
10.
if %errorlevel% equ 5 set pw=%pw%e 
11.
if %errorlevel% equ 6 set pw=%pw%f 
12.
if %errorlevel% equ 7 set pw=%pw%g 
13.
if %errorlevel% equ 8 set pw=%pw%h 
14.
if %errorlevel% equ 9 set pw=%pw%i 
15.
if %errorlevel% equ 10 set pw=%pw%j 
16.
if %errorlevel% equ 11 set pw=%pw%k 
17.
if %errorlevel% equ 12 set pw=%pw%l 
18.
if %errorlevel% equ 13 set pw=%pw%m 
19.
if %errorlevel% equ 14 set pw=%pw%n 
20.
if %errorlevel% equ 15 set pw=%pw%o 
21.
if %errorlevel% equ 16 set pw=%pw%p 
22.
if %errorlevel% equ 17 set pw=%pw%q 
23.
if %errorlevel% equ 18 set pw=%pw%r 
24.
if %errorlevel% equ 19 set pw=%pw%s 
25.
if %errorlevel% equ 20 set pw=%pw%t 
26.
if %errorlevel% equ 21 set pw=%pw%u 
27.
if %errorlevel% equ 22 set pw=%pw%v 
28.
if %errorlevel% equ 23 set pw=%pw%w 
29.
if %errorlevel% equ 24 set pw=%pw%x 
30.
if %errorlevel% equ 25 set pw=%pw%y 
31.
if %errorlevel% equ 26 set pw=%pw%z 
32.
if %errorlevel% equ 27 set pw=%pw%A 
33.
if %errorlevel% equ 28 set pw=%pw%B 
34.
if %errorlevel% equ 29 set pw=%pw%C 
35.
if %errorlevel% equ 30 set pw=%pw%D 
36.
if %errorlevel% equ 31 set pw=%pw%E 
37.
if %errorlevel% equ 32 set pw=%pw%F 
38.
if %errorlevel% equ 33 set pw=%pw%G 
39.
if %errorlevel% equ 34 set pw=%pw%H 
40.
if %errorlevel% equ 35 set pw=%pw%I 
41.
if %errorlevel% equ 36 set pw=%pw%J 
42.
if %errorlevel% equ 37 set pw=%pw%K 
43.
if %errorlevel% equ 38 set pw=%pw%L 
44.
if %errorlevel% equ 39 set pw=%pw%M 
45.
if %errorlevel% equ 40 set pw=%pw%N 
46.
if %errorlevel% equ 41 set pw=%pw%O 
47.
if %errorlevel% equ 42 set pw=%pw%P 
48.
if %errorlevel% equ 43 set pw=%pw%Q 
49.
if %errorlevel% equ 44 set pw=%pw%R 
50.
if %errorlevel% equ 45 set pw=%pw%S 
51.
if %errorlevel% equ 46 set pw=%pw%T 
52.
if %errorlevel% equ 47 set pw=%pw%U 
53.
if %errorlevel% equ 48 set pw=%pw%V 
54.
if %errorlevel% equ 49 set pw=%pw%W 
55.
if %errorlevel% equ 50 set pw=%pw%X 
56.
if %errorlevel% equ 51 set pw=%pw%Y 
57.
if %errorlevel% equ 52 set pw=%pw%Z 
58.
if %errorlevel% equ 53 set pw=%pw%1 
59.
if %errorlevel% equ 54 set pw=%pw%2 
60.
if %errorlevel% equ 55 set pw=%pw%3 
61.
if %errorlevel% equ 56 set pw=%pw%4 
62.
if %errorlevel% equ 57 set pw=%pw%5 
63.
if %errorlevel% equ 58 set pw=%pw%6 
64.
if %errorlevel% equ 59 set pw=%pw%7 
65.
if %errorlevel% equ 60 set pw=%pw%8 
66.
if %errorlevel% equ 61 set pw=%pw%9 
67.
if %errorlevel% equ 62 set pw=%pw%0 
68.
set /a pwchars=%pwchars%-1 
69.
set stern=%stern%* 
70.
if not %pwchars% equ 0 goto pwschleife 
71.
cls
Das Passwort entspricht der Variable pw. Kann ich meine 60 Errorlevel Einträge durch eine Schleife ersetzen?
Bitte warten ..
Mitglied: 106009
30.04.2012 um 19:54 Uhr
Hi,

Zitat von activedirectory:
Das Passwort entspricht der Variable pw. Kann ich meine 60 Errorlevel Einträge durch eine Schleife ersetzen?

abgesehen davon, dass der Thread schon starken Verwesungsgeruch aufweist und die letzten beiden Versionen erst ab Vista funktionieren, geht das schon .
Du verwendest die Variable %errorlevel% als Index für ein Zeichen aus dem für choice verwendeten String.

Eine fertige Lösung gibt's dann hier.

Gruß
Bitte warten ..
Mitglied: tDwtp416
01.05.2012 um 01:09 Uhr
REM alter sind da VIELE schreibfehler bei mir... Grammatik: 6...

Wenn du es dir vereinfachen willst:
01.
@ECHO OFF 
02.
SETLOCAL ENABLEDELAYEDEXPANSION 
03.
 
04.
SET "CHARS= abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" 
05.
SET "NUM=8" 
06.
 
07.
:PWLOOP 
08.
CLS 
09.
CHOICE /C %CHARS% /N /CS /M "Passwort: %STARS%"  
10.
FOR /L %%A IN (1,1,62) DO IF ERRORLEVEL %%A SET PW=%PW%!CHARS:~%%A,1! 
11.
SET "STARS=%STARS%*" 
12.
SET /A NUM = %NUM% - 1 
13.
IF NOT %NUM% LEQ 0 GOTO PWLOOP
ACHTUNG
1. DAS LEERZEICHEN IN DER VARIABLE CHARS MUSS SEIN!!!
2. %NUM% kann auch extern gesetzt werden oder via %1 %2 %* oder wie auch immer
3. CLS sollte vorhanden sein... sonst bringen die Sternchen nichts -.-
4. Für Windows XP kann man es sich downloaden (+soucecode)
5. (@ollidolli) In XP wurde es abgeschafft und ab Vista wieder eingeführt. XP ist somit das einzige Windows ohne CHOICE.
6. Viel spass!
Bitte warten ..
Mitglied: activedirectory
01.05.2012 um 02:24 Uhr
Im Skript von ollidolli wird noch die OS Version gecheckt und statt Deinem Leerzeichen wird dort der Index einmal dekrementiert. Ich verstehe nur nicht warum SETLOCAL ENABLEDELAYEDEXPANSION für dieses Skript erforderlich ist. Was der Befehl macht ist mir schon klar.
Bitte warten ..
Mitglied: 106009
01.05.2012 um 02:31 Uhr
@activedirectory
Es wird im letzten Beispiel von tDwtp416 eine Variable innerhalb einer Variablen verwendet: %%A innerhalb von %CHARS%, ich habe in meinem (im anderen Thread) geposteten Besipiel %arr% und %ind% benutzt. Versuche das mal nur mit %-Zeichen.

Seine Version funktioniert übrigens nicht, beim Passwort kommt immer "aaaaaaaa" raus. Da ist noch ein kleiner Bug in seiner Version, mal sehen, ob er den findet. *gg

Wenn du das noch weiter optimieren möchtest, könntest du für die Parameter in der For-Schleife an Stelle der 62 auch noch die Länge des "CHARS"- bzw. arr-Strings ermitteln und die in eine Variable packen.
Bitte warten ..
Mitglied: Biber
02.05.2012 um 01:03 Uhr
Moin alle,

jetzt haben wir schon zwei Uralt-Beiträge zu diesem Thema, an denen die ursprünglichen Threadowner das Interesse verloren haben und in denen nach dem x-ten Wiederbelebungsversuch nun doch eine (durchaus schlanke) Lösung erarbeitet wurde.

Ich verweise hier in diesem Thread auch noch mal freundlich aud Passworteingabe Nicht Anzeigen und setze diesen auch auf "Gelöst".

Grüße und dank an alle Wiederbeatmer
Biber
Bitte warten ..
Mitglied: pieh-ejdsch
05.05.2012 um 00:09 Uhr
moin,

auch wenn dieses Thema immer wieder mal "Brandheiss" diskutiert wird, letztendlich aber doch klar ist - mit choice ist es eine Krücke.
Ich verwende in meinen Passworten auch Sonderzeichen, wo ich aber nur genau weiss, welche ich nutzen könnte bei Verwendung von choice.
Dann kann nur eine im vorraus vorgegebene Passwortlänge zum Erkennen bis zur "fertigen Eingabe" genutzt werden.
Ist schon ein mögliches Sicherheitsrisiko!?

Oder ein Zeitfenster zur Eingabe nutzen. Da Choice keine Eingabetaste erkennt.
Es liese sich aber auch auf ein oder zwei Spezielle Zeichen am Ende des Eingebenen Strings vergleichen und niemand wüsste eine Passwortlänge.
Die Letzten Zeichen können ja auch vom String entfernt werden, wenn nötig.
Und wenn ich weiss, dat Ding geht nur ab Vista dann brauch ich es doch nicht woanners hinschleppen.

Kann ich meine 60 Errorlevel Einträge durch eine Schleife ersetzen?
Ja klar halt etwas anderes.
01.
@echo off 
02.
::echo on 
03.
setlocal disabledelayedexpansion 
04.
if "%~1" equ "/?" echo läuft ab Vista&echo Folgenden Eingaben werden erkannt^ 
05.
 &echo  1 2 3 4 5 6 7 8 9 0^ 
06.
 &echo  a b c d e f g h i j k l m n o p q r s t u v w x y z^ 
07.
 &echo  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z^ 
08.
 &echo  á Ž ™ š „ ” ^ 
09.
 &echo  ø ý õ æ ü^ 
10.
 &goto :eof 
11.
 
12.
echo Passwort abschliessen mit õõ 
13.
<nul set /p "=Passwort eingeben: " 
14.
set "PW=" 
15.
:Eingabe 
16.
for /f %%i in ('choice /cs /c abcdefghijklmnopqrstuvwxyz1234567890ßABCDEFGHIJKLMNOPQRSTUVWXYZ᎙š„”øýõæü /n ') do @set "PW=%PW%%%i" 
17.
<nul set /p "=*" 
18.
if not "%PW:~ -2%" == "õõ" goto :Eingabe 
19.
echo( 
20.
set "PW=%PW:~ 0,-2%" 
21.
 
22.
 rem Mach was mit dem Passwort 
23.
rem Start echo %PW% 
24.
echo %pw% 
25.
set "PW="
Für irgend ein Zeugs wirds schon gehen. Hach ich wollt doch gar net

PS: Warum ist denn der Olli auf einmal wech? War wohl zu heiss - obwohl wird ja noch diesen Sommer...

Gruß Phil
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(2)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (10)

Frage von 1410640014 zum Thema Backup ...