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

Bat Script Probleme bei Sonderzeichen

Frage Entwicklung Batch & Shell

Mitglied: nEmEsIs

nEmEsIs (Level 2) - Jetzt verbinden

13.01.2006, aktualisiert 15.01.2006, 53043 Aufrufe, 7 Kommentare

hi @all,
habe ein bat script geschrieben mit dem ich alle PC's in meinem Netzwerk schnell und bequem das pw änder lasse, doch wenn ich nun pw's mit sonderzeichen (in meinem Fall "&") wird der eintrag an diesem Zeichen ("&") natürlich im bat script in viele fetzen gerissen.
Ergebnis das script schmiert natürlich ab. habt ihr ne Idee?

REM Die Variablen
REM -------------------
set logfile=logfile.txt
set iplist=iplist.txt
set passfile=passwort.bat
REM -------------------
REM Ab hier nichtsmehr ändern!
REM -------------------
@echo off
cls
set /p username=Benutzernamen eingeben:
set /p passwort=Benutzer Kenwort eingeben:
goto 3
:1
cls
echo Leider ist das neue Kennwort nicht identisch!
:3
echo Bitte noch keine Sonderzeichen verwenden.
set /p newpassword=neues Kennwort eingeben:
set /p newpassword2=Bitte wiederholen Sie das neue Kennwort:
IF NOT "%newpassword%"=="%newpassword2%" (
goto 1 ) ELSE ( goto 2 )
:2
echo moechten Sie die PC's danach neustarten herunterfahren oder anlassen?
set /p sys=0 fuer anlassen, 1 fuer Neustart, 2 fuer Herunterfahren:
IF NOT "%sys%"=="0" (
set /p comment=Kommentar fuer den Neustart/Herunterfahren?:
set /p sek=Zeit bis der Neustart/Herunterfahren wirkt in sek.: )
echo alle Variablen sind jetzt komplett, um zu beginnen.
echo Druecken Sie bitte ENTER
echo net user %username% %newpassword% >> c:\%passfile%
echo Scan Ergebnisse vom %date%, %time% >> %logfile%
echo ............................................................... >> %logfile%
echo I >> %logfile%
pause > NUL
FOR /F %%i in (%iplist%) do (
ping -n 1 %%i | find "Antwort" >> nul ) && (
NET USE \\%%i\IPC$ /USER:"%username%" "%passwort%" > NUL
copy c:\%passfile% \\%%i\c$\ > NUL
cmd /c PSEXEC \\%%i -u "%username%" -p "%passwort%" C:\%passfile% > NUL
DEL \\%%i\c$\%passfile% > nul
IF "%sys%"=="0" ( goto 4 )
IF "%sys%"=="1" (
cmd /c SHUTDOWN -m \\%%i -t "%sek%" -c "%comment%" -f -r > NUL
) ELSE (cmd /c SHUTDOWN -m \\%%i -t "%sek%" -c "%comment%" -f -s > NUL)
:4
NET USE \\%%i\IPC$ /D > nul
echo [ %%i ] ERFOLGREICH [ Zumindest sollte es]
echo I [ %%i ] ERFOLGREICH [ Zumindest sollte es] >> %logfile%
) || (echo [ %%i ] GESCHEITERT -!- [Offline]
echo I [ %%i ] GESCHEITERT -!- [Offline] >> %logfile% )
)
del c:\%passfile%
echo I >> %logfile%
echo ............................................................... >> %logfile%
echo. >> %logfile%
echo. >> %logfile%
echo. >> %logfile%
echo.
echo.
cls
echo Script beendet! %iplist% verarbeitet. Die Logfile: %logfile% liegt zur auswertung bereit.!
pause > nul
Mitglied: Biber
14.01.2006 um 00:33 Uhr
Moin nEmEsIs,

schade, das wollte ich mir alles für mein Batch-Tut IV aufheben, aber egal...

...dann kennen die Syntax in 10 Minuten halt doppelt so viele Leute wie vorher.. *gg

Du musst dieses Sonderzeichen "&" ja im Batch maskieren, weil es für die CMD.exe auch ein Steuerzeichen ist.
Maskieren geht mit "^" vor dem Zeichen - so weit würde man/frau ja auch mit M$-Hilfe kommen.
Wenn dieser String mit Steuerzeichen allerdings noch mehrfach "weitergereicht" (noch mal in einer %Variable% verpackt und aufgelöst) wird, dann:
...muss auch die Maskierung maskiert werden (nein, ich habe keinen an der Waffel, ich zeigs mal).
Ich turn es mal am CMD-Prompt vor:
....
$cmd$ set /P pass1="Bitte Passwort eingeben: "
Bitte Passwort eingeben: Dies&Das

D:\temp>
$cmd$ set pass1
pass1=Dies&Das
...
Wenn dieser String in der Variablen %pass1% möglicherweise ein Ampersand ("&") enthalten können darf, dann maskieren:
$cmd$set xpass1=%pass1:&=^^^&%
(-----> übersetzt in etwa: "Ersetze das Zeichen "&" durch ein "^&". Da aber "^" auch ein Steuerzeichen ist, muss ich das maskieren.)

D:\temp>
$cmd$ set xpass1
xpass1=Dies^&Das
$cmd$ echo net use username %xpass1%
net use username Dies&Das

Ich denke, das reicht Dir, um das umzusetzen - Dein Batchschnipsel hat ja schon gewisse Reife...

Gruß Biber
Bitte warten ..
Mitglied: nEmEsIs
14.01.2006 um 15:58 Uhr
entschuldige bitte Biber, dass ich dir da was vorgenommen habe, werde das skript jetzt mit deiner lösung noch verfolständigen und danach ein Link hierher posten wo mann sich dann alles runterladen kann.

nEmEsIs aka draner
P.S.: kennst jemand alle zeichen wie & die von der cmd dann umgesetzt würden?
P.P.S.: wie kann ich einen variable danach überprüfen ob sie nur aus zahlen besteht!?
Bitte warten ..
Mitglied: Biber
14.01.2006 um 16:41 Uhr
Moin nEmEsIs,

soooo schlimm war es nun auch nicht mit dem vorgezogenen Tutorial-Absatz - so war es wenigstens (hoffentlich) für jemand von Nutzen.

Zu Deiner Frage "kennst jemand alle zeichen wie & die von der cmd dann umgesetzt würden?":

Ich fürchte, das wirst Du nur durch probieren herausfinden können, aber das ist ja relativ einfach.
Du kannst alle theoretisch erlaubten Sonderzeichen für Passworte ja per "SET" in Variable packen und wieder ausgeben lassen, wie in dem obigen Schnipsel von mir.

Umlaute oder Zeichen, die nicht auf allen Codepages vorhanden sind, musst Du ohnehin weglassen - so viel bleibt also nicht über.

Zu den Zeichen, die unter dem CMD "maskiert" werden müssen, gehören sicher: Runde und spitze Klammern, arithmetische Operatoren, die logischen Operatoren für UND und ODER, das Prozentzeichen, das Gleichheitszeichen sowie das Komma.

Gruß Biber
P.S. Wenn Du keine Einwände hast, verschieben wir Deinen Beitrag mal von "Betriebssysteme" nach "Batch & Shell".
Bitte warten ..
Mitglied: nEmEsIs
14.01.2006 um 21:13 Uhr
also dein Tip hat schonmal wunderbar funktionier leuft wie geschmiert, aber es tut sich wie immer das nächste Problem gleich auf!
Wenn das bat script auf dem Client ausgeführt wird setzt er das & wieder falsch um:

net user testuser 1&2&3&4

C:\>net user testuser 1 & 2 & 3 & 4
Der Befehl wurde erfolgreich ausgeführt.

Der Befehl "s" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Der Befehl "e96" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Der Befehl "n99" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\>

hast dafür noch ne idee?

P.S.: gegen das verschieben habe ich natürlich keine einwende!
Bitte warten ..
Mitglied: Biber
15.01.2006 um 04:19 Uhr
Moin nEmEsIs,
hast dafür noch ne idee?
Na, frag doch mal hier im Forum rum, ob mir schon mal die Ideen ausgegangen sind ..

Ich hatte je das Beispiel mit der "maskierten Maskierung am CMD-Prompt durchgespielt.
Wenn der "Net use" von einem Batch aufgerufen wird, ist es noch eine Maskierungsebene mehr.

Denn in der erzeugten Batch-Datei muss ja drinstehen
01.
net user testuser 1^&^2^&3^&4
..damit tatsächlich ausgeführt wird, was Du meinst, nämlich...
01.
net user testuser 1&2&3&4 
Andernfalls tritt der von Dir beschreibene Effekt auf: das "&"-Zeichen wird als "logisches UND" interpretiert.. also führe den Befehl "Net use testuser 1" aus UND den Befehl "1" UND den Befehl "2" UND den Befehl "3" UND...
01.
C:\>net user testuser 1 & 2 & 3 & 4 <i>...wie Du geschrieben hast, oder, in anderer Schreibweise wäre das:</i> 
02.
(net user testuser 1) & (2)  & (3) & (4) <i>... so versteht es der/die CMD.exe.</i>
Also zurück..von hinten aufgerollt. Du willst als Net-Use-Aufruf mit Parameter haben:
01.
:: Step 0)  
02.
net user testuser 1&2&3&4 
03.
::  
04.
:: Dann musst Du in der erzeugten *.Bat stehen haben: 
05.
:: Step -1)  
06.
net user testuser 1^&2^&3^&4 
07.
::  
08.
:: Dann muss der echo-Befehl im Batch davor schreiben: 
09.
:: Step -2)  
10.
echo net user testuser 1^^^&2^^^&3^^^&4 
11.
:: 
12.
:: Also muss Deine Ersetze-Mir-Jedes-&-Zeichen ungefähr so aussehen: 
13.
var=1&2&3&4 
14.
set xvar=%var:&=^^^^^^^&% 
15.
$cmd$set xv 
16.
xvar=1^^^&2^^^&3^^^&4 
17.
... 
Na ja, so weit die Skizze... ich hab es (das Prinzip) zwar eben am CMD-Prompt an-, aber nicht zu Ende getestet.
Die Zeilen von "var=...." bis " ..." sind aber schon vom Bildschirm kopiert.

Alternativen:
- die Benutzung von "&" in diesen Passworten verbieten
- oder eine andere Form der Passworterfassung - Suche mal in Beiträgen von fpschultze hier im Forum.
Der hat bei einem Beitrag "Batch: Passwort verdeckt eingeben" eine pragmatischere Lösung.

BTW...willst Du jetzt ein
- "Net use"/Laufwerke mappen machen oder
- "Net user" / neue Benutzerpassworte setzen?

Oben stehen beide Varianten, deshalb die Rückfrage.

Grüße Biber

P.S. Für diese IsNumeric-Funktion mach bitte einen neuen Beitrag auf in "Batch und Shell".
Da gibt es keine Standard-Funktion, da müssen eine Handvoll Zeilen *.bat geschrieben werden und ist auch ein anderes Thema.
Bitte warten ..
Mitglied: nEmEsIs
15.01.2006 um 13:15 Uhr
Also dein vorschlag werde ich mal einbauen und schaun ob das dann so (hoffentlich funzed)
unten ist schonmal die überarbeitete version wo dann auch mal die logfile und alles richtig funktioniert
P.S.: ich will das Benutzerpasswort setzen!

01.
REM Die Variablen 
02.
REM ------------------- 
03.
set logfile=logfile.txt 
04.
set iplist=iplist.txt 
05.
set passfile=passwort 
06.
REM ------------------- 
07.
REM Ab hier nichtsmehr ändern! 
08.
REM ------------------- 
09.
@echo off 
10.
cls 
11.
goto first 
12.
:wrongip 
13.
echo Sie haben keine gueltige Option gewaehlt versuchen Sie es nochmal! 
14.
goto first 
15.
:ipfirst 
16.
echo es existiert noch keine IP File! 
17.
:first 
18.
IF NOT EXIST %iplist% ( goto create  
19.
	       ) ELSE ( echo moechten Sie eine neue IP Liste erstellen oder die Aktuell Liste verwenden? 
20.
			set /p createip=1 = erstellen / 2 = Aktuelle verwenden: 
21.
22.
IF "%createip%" EQU "1" ( goto create ) 
23.
IF "%createip%" EQU "2" ( goto ipnow  
24.
	      	 ) ELSE ( goto wrongip ) 
25.
:ipnow 
26.
IF NOT EXIST %iplist% ( goto ipfirst ) 
27.
set /p username=Benutzernamen eingeben: 
28.
set username=%username:&=^^^&% 
29.
set /p passwort=Benutzer Kenwort eingeben: 
30.
set passwort=%passwort:&=^^^&% 
31.
goto 3 
32.
:1 
33.
cls 
34.
echo Leider ist das neue Kennwort nicht identisch! 
35.
:3 
36.
set /p newpassword=neues Kennwort eingeben: 
37.
set newpassword=%newpassword:&=^^^&% 
38.
set /p newpassword2=Bitte wiederholen Sie das neue Kennwort: 
39.
set newpassword2=%newpassword2:&=^^^&% 
40.
IF NOT "%newpassword%"=="%newpassword2%" ( 
41.
   goto 1 ) ELSE ( goto 2 ) 
42.
:2 
43.
goto 7 
44.
:5 
45.
echo Sie haben keine gueltige Zahl eingegeben! 
46.
:7 
47.
echo moechten Sie die PC's danach neustarten herunterfahren oder anlassen? 
48.
set /p sys=0 fuer anlassen, 1 fuer Neustart, 2 fuer Herunterfahren: 
49.
IF /I "%sys%" EQU "0" ( goto 6 ) 
50.
IF /I "%sys%" EQU "1" ( goto 6 ) 
51.
IF /I "%sys%" EQU "2" ( goto 6 ) 
52.
goto 5 
53.
:6 
54.
IF NOT "%sys%"=="0" (  
55.
      set /p comment=Kommentar fuer den Neustart/Herunterfahren?: 
56.
      set comment=%comment:&=^^^&%  
57.
      set /p sek=Zeit bis der Neustart/Herunterfahren wirkt in sek.:  
58.
      set sek=%sek:&=^^^&%) 
59.
echo alle Variablen sind jetzt komplett, um zu beginnen. 
60.
echo Druecken Sie bitte ENTER 
61.
IF EXIST c:\%passfile%.bat ( del c:\%passfile%.bat ) 
62.
echo net user %username% %newpassword% >> c:\%passfile%.bat 
63.
IF EXIST %logfile% ( del %logfile% ) 
64.
echo Scan Ergebnisse vom %date%, %time% >> %logfile% 
65.
IF EXIST c:\%date%temp.txt ( del c:\%date%temp.txt ) 
66.
IF EXIST c:\%date%cont.txt ( del c:\%date%cont.txt ) 
67.
echo ............................................................... >> %logfile% 
68.
echo I >> %logfile% 
69.
pause > NUL 
70.
FOR /F %%i in (%iplist%) do (ping -n 1 %%i | find "Antwort" >> NUL 
71.
			    ) && ( echo [ "%%i" ] ERFOLGREICH     [ Client ist Aktiv] 
72.
				   echo %%i >> c:/%date%temp.txt 
73.
		       	    ) || ( echo [ "%%i" ] GESCHEITERT -!- [ Offline] 
74.
			           echo I [ "%%i" ] GESCHEITERT -!- [ Offline] >> %logfile% 
75.
76.
FOR /F %%i in (c:\%date%temp.txt) do (NET USE \\%%i\IPC$ /USER:%username% %passwort% | find "Befehl" >> NUL 
77.
		       ) && ( 
78.
			     IF EXIST \\%%i\c$\%passfile%.bat ( del c:\%passfile%.bat) > NULL 
79.
			     copy "c:\%passfile%.bat" \\%%i\c$\ > NUL 
80.
			     cmd /c PSEXEC \\%%i -u %username% -p %passwort% C:\%passfile%.bat > NUL 
81.
			     DEL \\%%i\c$\%passfile%.bat > NUL 
82.
			     NET USE \\%%i\IPC$ /D > nul 
83.
			     IF "%sys%"=="1" ( cmd /c SHUTDOWN -m \\%%i -t "%sek%" -c %comment% -f -r > NUL ) 
84.
			     IF "%sys%"=="2" ( cmd /c SHUTDOWN -m \\%%i -t "%sek%" -c %comment% -f -s > NUL ) 
85.
			     echo %%i >> c:/%date%cont.txt 
86.
			     echo [ "%%i" ] ERFOLGREICH     [ Kennwort geaendert] 
87.
			     echo I [ "%%i" ] ERFOLGREICH     [ Kennwort geaendert] >> %logfile% 
88.
		       ) || (echo [ "%%i" ] GESCHEITERT -!- [ Kennwort konnte nicht geaendert werden] 
89.
			     echo I [ "%%i" ] GESCHEITERT -!- [ Kennwort konnte nicht geaendert werden] >> %logfile% 
90.
91.
FOR /F %%i in (c:\%date%cont.txt) do (NET USE \\%%i\IPC$ /USER:%username% %newpassword% | find "Befehl" >> NUL 
92.
		       ) && ( 
93.
			     echo [ "%%i" ] ERFOLGREICH     [ Neues Kennwort geprueft] 
94.
		       ) || ( 
95.
			     echo [ "%%i" ] GESCHEITERT -!- [ Neues Kennwort nicht korrekt gesetzt] 
96.
			     echo I [ "%%i" ] GESCHEITERT -!- [ Neues Kennwort nicht korrekt gesetzt] >> %logfile% 
97.
98.
del c:\%passfile%.bat 
99.
del c:\%date%temp.txt 
100.
del c:\%date%cont.txt 
101.
echo I >> %logfile% 
102.
echo ............................................................... >> %logfile% 
103.
echo. >> %logfile% 
104.
echo. >> %logfile% 
105.
echo. >> %logfile% 
106.
echo. 
107.
echo. 
108.
cls 
109.
echo Script beendet! %iplist% verarbeitet. Die Logfile: %logfile% liegt zur auswertung bereit.! 
110.
pause > nul 
111.
exit 
112.
 
113.
:create 
114.
IF EXIST %iplist% ( del %iplist% ) 
115.
goto ipsetupabfrage 
116.
:ipsetupwrong 
117.
echo Sie haben keine gueltige Optinon gewaehlt versuchen Sie es nochmal: 
118.
:ipsetupabfrage 
119.
echo IP Setup - moechten Sie eine Liste erstellen oder einzelne IP's eintragen? 
120.
set /p ipsetup=1 - Liste / 2 - Einzel IP's / 0 - Script starten: 
121.
IF "%ipsetup%" EQU "0" ( goto ipnow ) 
122.
IF "%ipsetup%" EQU "1" ( goto ipliststart ) 
123.
IF "%ipsetup%" EQU "2" ( goto ipipsetup ) 
124.
goto ipsetupwrong 
125.
 
126.
:ipipsetup 
127.
echo Geben Sie eine IP ein 
128.
:ipipreplay 
129.
set /p ip=IP: 
130.
echo %ip% >> %iplist% 
131.
goto ipipip 
132.
:ipipwrong 
133.
Echo Sie haben keine gueltige Optinon gewaehlt versuchen Sie es nochmal: 
134.
:ipipip 
135.
echo Moechten Sie weitere IP's eintragen? 
136.
set /p ipreplayq=1 - Ja / 2 - Nein: 
137.
IF "%ipreplayq%"=="1" ( goto ipipreplay ) 
138.
IF "%ipreplayq%"=="2" ( goto ipsetupabfrage ) 
139.
goto ipipwrong 
140.
 
141.
goto ipliststart 
142.
:iplisterror 
143.
echo Sie haben keinem gueltige Bereich gewaehlt versuchen Sie es nochmal: 
144.
:ipliststart 
145.
echo geben Sie die range an BSP.: 192.168.1 
146.
set /p range=RANGE: 
147.
set /p ipstart=erste IP Adresse: 
148.
set /p ipstop=letzte IP Adresse: 
149.
IF "%ipstart%" GTR "254" ( goto iplisterror ) 
150.
IF "%ipstop%" GTR "254" ( goto iplisterror ) 
151.
IF "%ipstart%" LSS "%ipstop%" ( goto iplistklein ) 
152.
IF "%ipstart%" GTR "%ipstop%" ( goto iplistbig ) 
153.
:iplistklein 
154.
FOR /L %%i IN (%ipstart%,1,%ipstop%) do ( 
155.
					echo %range%.%%i >> %iplist% 
156.
157.
:iplistbig 
158.
FOR /L %%i IN (%ipstop%,1,%ipstart%) do ( 
159.
					echo %range%.%%i >> %iplist% 
160.
161.
goto ipsetupabfrage
Bitte warten ..
Mitglied: Biber
15.01.2006 um 19:13 Uhr
Jau, nEmEsIs,

ich denke schon, dass dieser Beitrag in "Batch und Shell" besser reinpasst als in "Betriebssysteme".

a) Einen formalen Tipp noch zur Lesbarkeit:

Statt:
IF NOT EXIST %iplist% ( goto create
) ELSE ( echo moechten Sie eine neue IP Liste erstellen oder die Aktuell Liste verwenden?
set /p createip=1 = erstellen / 2 = Aktuelle verwenden:
)
IF "%createip%" EQU "1" ( goto create )
IF "%createip%" EQU "2" ( goto ipnow
) ELSE ( goto wrongip )

besser:
IF NOT EXIST %iplist% goto create
echo moechten Sie eine neue IP Liste erstellen oder die Aktuell Liste verwenden?
set /p createip=1 = erstellen / 2 = Aktuelle verwenden:

IF "%createip%" EQU "1" goto create
IF "%createip%" EQU "2" goto ipnow
goto wrongip

.. ist kürzer und weniger tippfehlerträchtig IMO.

b) und der Fairness halber (so gerne ich Bätchelchen zusammenbrate)
Es gibt auch CMD-Line-Tools zum ändern des User-Passworts. Die natürlich dann "pwchange.exe" oder "changepw.exe" heißen.
Sollten über Suchmaschinen zu finden sein.
Eventuell kannst Du mit so einem Utility diesen Aufruf:
"cmd /c PSEXEC \\%%i -u %username% -p %passwort% C:\%passfile%.bat > NUL"
durch einen direkteren Aufruf (ohne Zwischenbatch) ersetzen.

Bzw. ginge das an dieser Stelle nicht ohnehin ohne Temp-Batch??
PSEXEC \\%%i -u %username% -p %passwort% net user %username% %newpasswort% > NUL
Laut PsExec-Syntax kannst Du Parameter einfach mitgeben. Evtl noch den (Server-)Pfad vor die Net.exe.
Oder übersehe ich etwas?

Grübelnd
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst PowerShell Script Move-Item nach x Tagen (5)

Frage von lupolo zum Thema Batch & Shell ...

Microsoft Office
Office 2016 Probleme mit Outlook (5)

Frage von killtec zum Thema Microsoft Office ...

Batch & Shell
gelöst Crontab mit Shell Probleme (9)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...