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

Passworteingabe Nicht Anzeigen

Frage Entwicklung Batch & Shell

Mitglied: Dipps

Dipps (Level 2) - Jetzt verbinden

24.07.2007, aktualisiert 18.10.2012, 23942 Aufrufe, 20 Kommentare

Passworteingabe Nicht Anzeigen

Hallo ich wollte mal fragen ob einer eine Ahnung hat das wenn ich in der batch eine Eingabe mache deise durch Sterne verschlüsselt werden kann?

Bsp.

set /p pass="Passwort: "


jetz würde wärend der Eingabe in klar text Eingegeben werden aber das PW soll nicht angezeigt werden. wie kann ich das umsetzen?
Mitglied: bastla
24.07.2007 um 12:23 Uhr
Hallo Dipps!

Du könntest es mit einer Kombination Batch/VBS versuchen (allerdings erst ab XP):
01.
@echo off & setlocal 
02.
set "GetPW=%temp%\GetPW.vbs" 
03.
echo WScript.Echo CreateObject("ScriptPW.Password").GetPassword()>"%GetPW%" 
04.
echo Bitte Passwort eingeben:  
05.
for /f "delims=" %%i in ('cscript //nologo "%GetPW%"') do set "Pass=%%i" 
06.
del "%GetPW%" 
07.
echo %Pass%
Grüße
bastla
Bitte warten ..
Mitglied: Dipps
24.07.2007 um 13:04 Uhr
Gib es da auch noch eine andere Lösung was bei älteren als XP geht?
Bitte warten ..
Mitglied: Dipps
24.07.2007 um 15:05 Uhr
Oder geht es wenigstens so das pro tasten schlag wenigstens ein stern gemalt wird? und wenn mölich soll Passwort: und die Eingabe auf eine zeile
Bitte warten ..
Mitglied: Biber
24.07.2007 um 15:42 Uhr
Moin Dipps,

nein, da gibt es nichts (oder nichts Brauchbares).

Ohne Zusatz-Utility oder ein paar selbst zusammengebratenen VBSkript/C++-/Basic-Zeilen keine Möglichkeit an der TUI/am CMD-Prompt.

Grüße
Biber
Bitte warten ..
Mitglied: Dipps
24.07.2007 um 15:47 Uhr
aber ist es möglich halt das man sternchen pro zeichen machen kann?
Bitte warten ..
Mitglied: Biber
24.07.2007 um 20:22 Uhr
Moin Dipps,

ach so, jetzt, wo Du die Frage zum dritten Mal stellst, jetzt verstehe ich es endlich... *sichvornKoppklatscht*

dann muss ich natürlich antworten:

nein, da gibt es nichts (oder nichts Brauchbares).

Ohne Zusatz-Utility oder ein paar selbst zusammengebratenen VBSkript/C++-/Basic-Zeilen keine Möglichkeit an der TUI/am CMD-Prompt.

Grüße
Biber
Bitte warten ..
Mitglied: lustigerAstronaut
25.07.2007 um 10:17 Uhr
Sehr geehrter Herr Biber

Sie dürfen mit Herr Dipps nicht so streng sein.
Er wollte auch nur ganz sicher gehen...daher musste er die Frage dreimal stellen. Es hätte ja sein können, dass es Ihnen - sehr geehrter Herr Biber - gerade entfallen ist...oder dass sie es einfach nicht sagen wollen.

Daher hat Dipps wieder und wieder gefragt. Sie kenne bestimmt auch folgende Weisheit: "Stetes Tropfen höhlt den Stein"
Nun, da hat Herr Dipp Sie wohl falsch eingeschätzt aber es wird ihm bestimmt eine Lehre sein.

Mit freundlichen Grüssen
lustigerAstronaut
Bitte warten ..
Mitglied: Biber
25.07.2007 um 12:18 Uhr
@lustigerAstronaut
<grinz>.Moderater als ein Moderator...

Na ja, "Drei Mal ist Bremer Recht", wie es bei uns heißt..
Von daher sollte ich vielleicht auch den Butenbremern gegenüber nachsichtig sein.

Grüße
Biber
P.S. Hieß das nicht "Steter Tropfen höhlt die Leber"??
Bitte warten ..
Mitglied: zensbert
12.07.2010 um 20:43 Uhr
Hallo Bastla..
Auch wenn das Thema drei Jahre alt ist, wird es für mich wieder aktuell..
Dein Quelltext funktioniert bei mir sehr gut.. unter XP, unter Seven 64Bit kommt leider:

01.
 Bitte Passwort eingeben: 
02.
C:\Users\Username\AppData\Local\Temp\GetPW.vbs(1, 1) Laufzeitfehler in Microsoft 
03.
 VBScript: ActiveX-Komponenten kann kein Objekt erstellen: 'ScriptPW.Password'


UAC komplett aus, Administratorrechte.

Hatte das bis jetzt so gelöst
01.
 > C:\usermessage.vbs ECHO WScript.Echo InputBox( "Wie lautet das Passwort für den lokalen Modus?", "Sicherheits-Abfrage", "" ) 
02.
FOR /F "tokens=*" %%A IN ('CSCRIPT.EXE //NoLogo C:\usermessage.vbs') DO SET usbpw=%%A


Jedoch stört es mich dass der Kunde der hinter mir steht das Passwort sieht, kann man da irgendwie einen Weg finden? Betriebssysteme für die Batch gehen von XP über Vista bis Seven. Und ein schönes Sternchen pro Buchstabe wäre super

Dankeschön..
Thomas
Bitte warten ..
Mitglied: bastla
18.07.2010, aktualisiert 18.10.2012
Hallo zensbert!

Leider kann ich das unter W7 nachvollziehen, habe aber keine Lösung anzubieten ...

Falls Du diesen Thread noch nicht gefunden haben solltest: pacobay hat dort einiges zum Thema zusammengetragen ...

Und: zB hier findest Du eine Erklärung / weitere Ansätze ...

Grüße
bastla

P.S.:
Und ein schönes Sternchen pro Buchstabe wäre super
Ob ich jetzt wohl auf Bibers Ausführungen weiter oben verweisen sollte? Oder doch eher auf die in meinem letzten Link angesprochene Möglichkeit mit Bill Stewarts EditVar ...
Bitte warten ..
Mitglied: zensbert
21.07.2010 um 22:20 Uhr
Danke für die Antwort..
ich habe noch eine andere möglichkeit gefunden für alle die vor dem selben problem stehen.. und zwar "winput" von Horst Schaeffer..

http://home.mnet-online.de/horst.muc/w32diald.htm#winput

01.
winput "set pw=$input" "Bitte PW eingeben" /pass 
02.
echo Passwort ist %pw%
gruß und danke nochmal
Bitte warten ..
Mitglied: Biber
22.07.2010 um 11:28 Uhr
Moin zensbert, bastla und alle MitleserInnen,

die Hinweise auf Bill Stewarts EditVar.exe und Horst Schaeffers winput.exe werte ich mal als weitere Bestätigung dafür, dass
  • eine verdeckte Passworteingabe/Passworteingabe mit Sternchen auch für die Konsole durchaus implementierbar ist
  • es aber nun wirklich nicht sinnvoll ohne Zusatz-One-Trick-Tools geht.

Und Letzteres war ja ursprünglich die eigentliche Frage.

Von Herrn Dipps, dem Beitragsersteller, erwarte ich kein Lebenszeichen mehr in diesem Beitrag.

Deshalb setze ich mal diesen Beitrag auf "Beantwortet" und "Geschlossen".

Falls noch jemand neue Aspekte hier einbringen möchte -> PN an mich, dann öffne ich wieder.

Grüße
Biber
Bitte warten ..
Mitglied: 106009
30.04.2012 um 21:08 Uhr
Moin,

Zitat von Biber:
Deshalb setze ich mal diesen Beitrag auf "Beantwortet" und "Geschlossen".
Falls noch jemand neue Aspekte hier einbringen möchte -> PN an mich, dann öffne ich wieder.

Na denn, wenn er denn wirklich closed wäre, isser aber nich.

Seit Vista gibt es eine Möglichkeit mit Mitteln des OS.

01.
@echo off 
02.
:: Die nächsten beiden Zeilen dienen nur zur Überprüfung, ob die OS-Version mindestens 6 ist, denn unter W2K/XP läuft das Script nicht. 
03.
FOR /F "tokens=2 delims=[" in ('ver') do set "osv=%%a" 
04.
if [%osv:~8,1%] LSS [6] @echo Falsche OS-Version & pause & goto :eof 
05.
 
06.
 
07.
setlocal enabledelayedexpansion 
08.
set pwchars=12 
09.
 
10.
::Gültige Auswahlzeichen für CHOICE und das Passwort: a-z, A-Z, 0-9 und ASCII-Werte zwischen 128 und 254, 
11.
:: wobei für die Zeichen 128-254 die verwendete Codepage in der Konsole relevant ist. 
12.
 
13.
set "arr=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" 
14.
:pwschleife 
15.
choice /c %arr% /n /cs /m "Passwort: %stern%" 
16.
cls 
17.
set /a ind=%errorlevel%-1 
18.
set char=!arr:~%ind%,1! 
19.
set /a pwchars=%pwchars%-1 
20.
set stern=%stern%* 
21.
set pw=%pw%%char% 
22.
if not %pwchars% equ 0 goto pwschleife 
23.
cls 
24.
 
25.
@echo fertig. Passwort ist %pw% 
26.
pause
Die Idee zu dieser Version stammt nicht von mir, sondern aus diesem Thread:
http://www.administrator.de/Batch:_Passwort_verdeckt_eingeben.html#7502 ...

Gruß

Edit: Nachfolgenden Code ersetzt durch die "ver"-Version (oben Zeilen 03. und 04. )

Die Routine benötigt 1-3 Sekunden, kann aber auch entfallen, wenn man sicher das korrekte OS (also ab Vista) verwendet.  
for /f "tokens=2" %%a in ('systeminfo ^| findstr "version"') do set "osv=%%a" 
if [%osv:~0,1%] LSS [6] @echo Falsche OS-Version & pause & goto :eof 
Bitte warten ..
Mitglied: activedirectory
01.05.2012 um 01:59 Uhr
@106009: Danke für die Ausarbeitung meiner Grundidee. Die OS Überprüfung gibt dem Skript den letzten Schliff. Ich werds mal testen.
Bitte warten ..
Mitglied: 60730
01.05.2012 um 22:33 Uhr
Salü,

Zitat von activedirectory:
@106009: Danke für die Ausarbeitung meiner Grundidee. Die OS Überprüfung gibt dem Skript den letzten Schliff.
Ich werds mal testen.

; und wenn du am testen bist, nimm auch diese Variante in die teststube mit...
C:\>for /f "tokens=5 delims=] " %a in ('ver') do set osv=%a & if %osv% lss 6 echo goto shell


edit:
@bastla:
Ich hab doch jetzt nen Einreiher (da ist man eh zu overdressed bei der Forenleichen wiederbelebungs party) und kann keine zweizeiler mehr weil jedes % kostet extra
/edit
Bitte warten ..
Mitglied: bastla
01.05.2012 um 22:40 Uhr
... aber teile das besser auf 2 Zeilen auf ...

Grüße
bastla

[Edit] @T-Mo
... "delayedExpansion" macht's ja auch nicht wirklich billiger ...

BTW: Sparen müssen aber sowieso alle - ab Vista gibt's noch nicht mal mehr ein Token #5 (wodurch %osv% dann aber jedenfalls "lss 6" wird) ...
[/Edit]
Bitte warten ..
Mitglied: 106009
02.05.2012 um 01:45 Uhr
Hi,
schmeißt doch nicht so mit den Tokens durch die Gegend, 2 reichen auch.

Man könnte auch OSMAJOR und OSMINOR zum Bleistift in die System-Umgebungsvariable der Clients schreiben, dann braucht man gar keine Tokens. :-P Ich frage mich sowieso, warum da seit Jahrenden nur OS=Windows_NT steht.

Gruß
Bitte warten ..
Mitglied: Biber
04.05.2012 um 15:22 Uhr
[OT]
Moin ollidolli,

Zitat von 106009:
Ich frage mich sowieso, warum da seit Jahrenden nur OS=Windows_NT steht.

Diese Frage (wenn sie dich denn wirklich beschäftigt) kann ich halbwegs beantworten.

Dieses NT wird zwar gern übersetzt mit "New technology", wie es ja von den Redmondern Marketingstrategen später breitgetreten wurde. Dennoch entstand es eigentlich aus dem Codenamen N-Ten, der wiederum für den "neuen" 80860-Chip, einen in den 90er Jahren geplanten 64-Bit-Chip stand.
Dieser Chip sollte explizit keine Rücksicht auf Kompatibilität zu vorhandenen x86-Chips nehmen.

Und alle Betriebssysteme, die perspektivisch auf dieser Chip-Architektur aufsetzen bekamen den Stempel "Windows_NT" in der neuen Umgebungsvariable %OS%- alles ältere hatte eben keine %OS%-Variable.

Also spätestens ab Windows 2000, Windows XP, Vi$ta, ... Windows7.... und vermutlich wird auch Windows 12 noch dieses Aufkleberchen haben.

"Windows_NT" Ist also nur entfernt abgeleitet von oder verschwägert mit dem ähnlich klingenden Interimsbetriebssystem "Windows NT 4.0"..

Grüße und schönes Wochenende
Biber
[/OT]
Bitte warten ..
Mitglied: 106009
04.05.2012 um 15:26 Uhr
Hi, Nagetier.

Die Erklärung klingt einleuchtend, das war mir nicht bekannt, danke für die Erläuterung.

Ebenfalls schönes Wochenende
ollidolli
Bitte warten ..
Mitglied: ET0815
03.07.2012 um 23:48 Uhr
Hallo alle zusammen!

Hab da mal was gebastelt. Allerdings ist die Frage, bekommt man es irgendwie hin, als Eingebe nicht "ß" sondern die Enter-Taste nutzen zu können?

01.
@echo off 
02.
:start 
03.
echo.Bitte das Passwort eingeben und mit "á" best„tigen 
04.
echo. 
05.
echo.Passwort: %stern% 
06.
choice /c:áabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 /n /cs >pw 
07.
set /p pw=<pw 
08.
del pw 
09.
if "á"=="%pw%" goto fertig 
10.
set stern=%stern2%* 
11.
set stern2=%stern% 
12.
set pw=%pw2%%pw% 
13.
set pw2=%pw% 
14.
cls 
15.
goto start 
16.
 
17.
:fertig 
18.
echo. 
19.
echo.%pw2% 
20.
pause
Gruß
ET085
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Windows Server
gelöst Powershell: Alle User anzeigen, die Zugriff auf einen Share haben (3)

Frage von bensonhedges zum Thema Windows Server ...

Outlook & Mail
gelöst Outlook 2013 - Teilnehmer in Termin anzeigen (4)

Frage von xbast1x zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...