WMIC - ReturnValue in Batch abfragen
Hallo,
ich habe ein kleines Problem.
Vielleicht kann mit jemand helfen
Dieser Einzeiler benennt meinen Benutzernamen in "NewName" um.
Um nachzuprüfen, ob dieses erfolgreich geschehen ist, benötige ich den automatisch ausgegebenen ReturnValue Wert in einer Variablen.
Mit %errorlevel% funktioniert es nicht, und ich kenne nicht den Befehl oder die entsprechende Variable, die diesen Wert enthält.
Ist der Befehl erfolgreich ausgeführt worden, dann wird der Wert 0 ausgegeben.
Hoffe jemand kennt eine Lösung.
Grüße, robcomboy
ich habe ein kleines Problem.
Vielleicht kann mit jemand helfen
Dieser Einzeiler benennt meinen Benutzernamen in "NewName" um.
wmic UserAccount where Name="%USERNAME%" call Rename Name="NewName"
Um nachzuprüfen, ob dieses erfolgreich geschehen ist, benötige ich den automatisch ausgegebenen ReturnValue Wert in einer Variablen.
Mit %errorlevel% funktioniert es nicht, und ich kenne nicht den Befehl oder die entsprechende Variable, die diesen Wert enthält.
Ist der Befehl erfolgreich ausgeführt worden, dann wird der Wert 0 ausgegeben.
Hoffe jemand kennt eine Lösung.
Grüße, robcomboy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 103801
Url: https://administrator.de/contentid/103801
Ausgedruckt am: 23.11.2024 um 02:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo
ja Thema aus 2008 aber bei 1700 klicks, hier mal ein tip
http://mcse.körbel.at/links/290/wmi/wmic.htm
also wäre die antwort:
wmic useraccount get /value
Direkte Wmic-Auswertung auf Batch-Ebene oder Kommandozeile:
for /F "delims== tokens=1" %n in ('wmic os get serialnumber') do set sn=%n
Guß
Vierus
ja Thema aus 2008 aber bei 1700 klicks, hier mal ein tip
http://mcse.körbel.at/links/290/wmi/wmic.htm
also wäre die antwort:
wmic useraccount get /value
Direkte Wmic-Auswertung auf Batch-Ebene oder Kommandozeile:
for /F "delims== tokens=1" %n in ('wmic os get serialnumber') do set sn=%n
Guß
Vierus
Hallo robcomboy,
die SID wird durch eine Umbenennung nicht verändert. Du könntest also zuerst über den alten Usernamen die SID ermitteln und nach der Umbenennung über die SID den jetzigen Usernamen ermitteln. Wenn gewünschter und tatsächlich gesetzter Username gleich sind, war die Aktion erfolgreich.
WMIC benötigt Adminrechte . Ungetestet:
Oder Du könntest das ganze mit VBS lösen, so wie hier beschrieben, und dadurch den Rückgabewert direkt verarbeiten.
Gruß
Friemler
die SID wird durch eine Umbenennung nicht verändert. Du könntest also zuerst über den alten Usernamen die SID ermitteln und nach der Umbenennung über die SID den jetzigen Usernamen ermitteln. Wenn gewünschter und tatsächlich gesetzter Username gleich sind, war die Aktion erfolgreich.
WMIC benötigt Adminrechte . Ungetestet:
@echo off
setlocal
set "OldName=%UserName%"
set "NewName=NeuerName"
set "SID="
set "Name="
for /f "tokens=2 delims==" %%s in ('wmic UserAccount Where Name^="%OldName%" get SID /value') do (
if not defined SID set "SID=%%s"
)
wmic UserAccount Where Name="%OldName%" call Rename Name="%NewName%"
for /f "tokens=2 delims==" %%n in ('wmic UserAccount Where SID^="%SID%" get Name /value') do (
if not defined Name set "Name=%%n"
)
if "%Name%" equ "%NewName%" echo Erfolgreich
Oder Du könntest das ganze mit VBS lösen, so wie hier beschrieben, und dadurch den Rückgabewert direkt verarbeiten.
Gruß
Friemler