mima89

Batch Variabler net use Befehl und Leerzeichen echo Befehl entfernen

Hallo Zusammen,

ich habe zwei Szenarien die ich versuche abzufragen:


1. Verbinde ich mich per net use - Befehl zu einer Freigabe mit User und Kennwort.
net use \\PC01\D$ "Kennwort01" /User:Benutzer01  
Das Problem ist, dass die Systeme teils unterschiedliche Kennwörter haben.

Wie gebe ich der Batch nun unterschiedliche Kennwörter zu einem System mit?
So wie:
net use \\PC01\D$ "Kennwort01" /User:Benutzer01  
-> Kennwort nicht korrekt, versuchen mit ...
net use \\PC01\D$ "Kennwort099" /User:Benutzer01  



2. Muss ich zwei Systeminfos per PsExec / cmd abfragen.
Dabei verbinde ich mich zum System, frage per cmd die "systeminfo" ab und exportiere diese als systeminfo.txt.
Dann lese ich die txt aus, exportiere die wichtigen Zeilen (hostname.txt & startzeit.txt), die ich dann wieder als Endergebnis ausgeben lasse:

@echo off
color FC
mode con lines=45 cols=85
del C:\*.txt
C:\PSTools\PsExec.exe -u Benutzer01 -p Kennwort01 \\PC01 cmd.exe /c systeminfo >> c:\systeminfo.txt
echo.
echo.
set zeile=
for /f "usebackq skip=1 delims=" %%i in ("c:\systeminfo.txt") do (  
    if not defined zeile set "zeile=%%i"  
)
echo %zeile% >> c:\hostname.txt
)
echo.
@echo off
set zeile=
for /f "usebackq skip=11 delims=" %%i in ("c:\systeminfo.txt") do (  
    if not defined zeile set "zeile=%%i"  
)
echo %zeile% >> c:\startzeit.txt
)
cls
@echo off
FOR /F %%i in (c:\hostname.txt) do (
echo.
echo %%i
)
FOR /F %%i in (c:\startzeit.txt) do (
echo %%i
)
pause



Das Problem hierbei ist, dass die Leerzeichen mit ausgegeben werden und die Ausgabe dann hinter den entsprechenden Optionen leer sind:

Beispiel (Ausgabe startzeit.txt)
Systemstartzeit:                               08.02.2020, 20:19:53 
Endgültige Ausgabe der Systemstartzeit:
Systemstartzeit: "KEINE ZEIT SICHTBAR"  

Wie bekomme ich die Leerzeichen aus dem Export raus?
Oder bei der Ausgabe eben. Was einfacher ist...


Liebe Grüße Micha
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 545765

Url: https://administrator.de/forum/batch-variabler-net-use-befehl-und-leerzeichen-echo-befehl-entfernen-545765.html

Ausgedruckt am: 06.07.2025 um 15:07 Uhr

emeriks
emeriks 10.02.2020 um 13:09:39 Uhr
Hi,
Zitat von @MiMa89:
Wie gebe ich der Batch nun unterschiedliche Kennwörter zu einem System mit?
Gar nicht! Sowas sollte mit CMDKEY im Benutzerprofile ablegen.

einmalig auf der Kommandozeile:
cmdkey /add:server1 /user:XXXX /pass:YYYY
cmdkey /add:server2 /user:AAAA /pass:BBBB
cmdkey /add:server3 /user:1111 /pass:2222

in der Batch einfach auf die Freigabe zugreifen.

E.
MiMa89
MiMa89 11.02.2020 um 11:59:40 Uhr
An sich eine gute Lösung, allerdings sind es 400 PCs mit teils unterschiedlichen Kennwörtern...
Da muss ich mir wohl etwas anderes einfallen lassen.

Dennoch Danke für den Tipp!


______________
Zu meinem zweiten Problem:

Habe in meiner Batch (ab Zeile 24) den Delim-Befehl eingebaut und nun werden die Parameter auch ausgegeben.
Zwar noch mit Leerzeichen, aber da kann ich darüber hinweg sehen.
FOR /F **"Delims="** %%i in (e:\hostname.txt) do (  
echo.
echo %%i
)
FOR /F **"Delims="** %%i in (e:\startzeit.txt) do (  
echo %%i
)
pause
emeriks
emeriks 11.02.2020 um 13:44:16 Uhr
Sind diese 400 PC's nicht in einer Domäne?
MiMa89
MiMa89 11.02.2020 um 14:03:18 Uhr
Doch, wieso?
emeriks
emeriks 11.02.2020 aktualisiert um 14:06:07 Uhr
Dann wäre es doch viel einfacher, sich ein Domänen-Konto einzurichten, welches auf all diesen PC's lokal über ausreichend Rechte verfügt, und das Script dann unter diesem Konto laufen zu lassen.
MiMa89
MiMa89 12.02.2020 um 08:02:12 Uhr
Wäre auch ne Möglichkeit... Warum bin ich nicht vorher drauf gekommen.

Ja manchmal ist man blind in seinem Projekt^^


Danke!