Umbenennen der Arbeitsstationen
Hallo Community
Ich habe folgende Frage.
Ich habe diverse Maschinen, welche umbenannt werden müssen.
Dazu habe ich mir ein kleiner Skript vorbereitet
wmic computersystem where name="%computername%" call rename name="d%computername%"
Die Maschinen Namen lauten z.B BERWS101
BER=Berlin
WS=Workstation
101=Aufzählung
Mit dem obenerwähnten Skript würde die Maschine auf DBERWS101 unbenannt werden.
D=Developer
Nun möchte ich das ein bisschen schöner Darstellen. Der Name sollte lauten BERDWS101
Quasi, Berlin, Developer, Workstation, Aufzählung
Wie kann ich von der Variable %Computername% die ersten drei Buchstaben BER in eine separate Variable, dann die nächsten beiden Buchstaben WS in eine weitere Variable und die Aufzählung in eine dritte Variable setzen?
Meine Idee Wäre dann, denn namen wie folgt zusammen zu setzen.
wmic computersystem where name="%computername%" call rename name="%Var1%D%Var2%Var3"
Wäre sowas möglich?
Ich habe folgende Frage.
Ich habe diverse Maschinen, welche umbenannt werden müssen.
Dazu habe ich mir ein kleiner Skript vorbereitet
wmic computersystem where name="%computername%" call rename name="d%computername%"
Die Maschinen Namen lauten z.B BERWS101
BER=Berlin
WS=Workstation
101=Aufzählung
Mit dem obenerwähnten Skript würde die Maschine auf DBERWS101 unbenannt werden.
D=Developer
Nun möchte ich das ein bisschen schöner Darstellen. Der Name sollte lauten BERDWS101
Quasi, Berlin, Developer, Workstation, Aufzählung
Wie kann ich von der Variable %Computername% die ersten drei Buchstaben BER in eine separate Variable, dann die nächsten beiden Buchstaben WS in eine weitere Variable und die Aufzählung in eine dritte Variable setzen?
Meine Idee Wäre dann, denn namen wie folgt zusammen zu setzen.
wmic computersystem where name="%computername%" call rename name="%Var1%D%Var2%Var3"
Wäre sowas möglich?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 42437551316
Url: https://administrator.de/forum/umbenennen-der-arbeitsstationen-42437551316.html
Ausgedruckt am: 21.12.2024 um 16:12 Uhr
4 Kommentare
Neuester Kommentar
echo %computername:~0,3%D%computername:~3,2%%computername:~5%
Btw. Die where Filterung im Befehl ist überflüssig, die Maschine benennt sich eh selbst um keine andere.
Wieso noch Batch?
Rename-Computer
Rename-Computer -NewName ($env:Computername -replace '^.{3}','$0D')
Moin,
Man macht das immer so bei solchen Abfragen um sicher zu gehen, dass man A den richtigen Datensatz in den Fingern hat und B dieser Datensatz den erwarteten Wert hat. Das ist eine Prinzipsache. Wen man das immer weglässt wenn es nicht relevant ist, vergisst man es irgendwan mal wo es relevant war. Dann hat man auf einmal 10.000 Datensätze die alle gleich sind
Ja, hier ist es nicht relevant weil der Vergleich ein Zirkelbezug ist.
Ja, ich würde es auch eher per PS machen.
Ich würde aber auch den Namen anders Formatieren - DEV-DE-BER01_WS101
Es kann ja sein, dass es mal mehr Standorte in Berlin gibt.
Stefan
Zitat von @puderpader:
Btw. Die where Filterung im Befehl ist überflüssig, die Maschine benennt sich eh selbst um keine andere.
Btw. Die where Filterung im Befehl ist überflüssig, die Maschine benennt sich eh selbst um keine andere.
Man macht das immer so bei solchen Abfragen um sicher zu gehen, dass man A den richtigen Datensatz in den Fingern hat und B dieser Datensatz den erwarteten Wert hat. Das ist eine Prinzipsache. Wen man das immer weglässt wenn es nicht relevant ist, vergisst man es irgendwan mal wo es relevant war. Dann hat man auf einmal 10.000 Datensätze die alle gleich sind
Ja, hier ist es nicht relevant weil der Vergleich ein Zirkelbezug ist.
Ja, ich würde es auch eher per PS machen.
Ich würde aber auch den Namen anders Formatieren - DEV-DE-BER01_WS101
Es kann ja sein, dass es mal mehr Standorte in Berlin gibt.
Stefan
Hallo Nachbar @Ralus67
ich hatte nachdem ich Elses Computer, DruckerPC und FranksPC im Netz weitreichend fand auch umgestellt. Da nahm ich dann mangels anderer Nummern einfach das Kaufdatum rückwärts. Das half mir dann nebenher dazu den Rechner rechtzeitig auszumustern (wenn es nicht eh schon zu spät war).
man hat 15 Zeichen frei, also:
2 Zeichen für Standort
2 Zeichen für was (NB NoteBook, PC StandPC, WS Wirkstation, etc...)
Kaufdatum 20240328
Und wenn man mal 5 Notebooks an einem Tag kaufte an das Datum noch A, B, C, .... hinten anfügen.
Kreuzberger
ich hatte nachdem ich Elses Computer, DruckerPC und FranksPC im Netz weitreichend fand auch umgestellt. Da nahm ich dann mangels anderer Nummern einfach das Kaufdatum rückwärts. Das half mir dann nebenher dazu den Rechner rechtzeitig auszumustern (wenn es nicht eh schon zu spät war).
man hat 15 Zeichen frei, also:
2 Zeichen für Standort
2 Zeichen für was (NB NoteBook, PC StandPC, WS Wirkstation, etc...)
Kaufdatum 20240328
Und wenn man mal 5 Notebooks an einem Tag kaufte an das Datum noch A, B, C, .... hinten anfügen.
Kreuzberger
Moin,
...hat mich getriggert :P
Um das wmic-Kommando auf einem anderen Gerät anzuwenden, ist imho dessen "/node:"-Parameter notwendig - die CIM-Eigenschaft "Name" hat keinerlei Bezug zur Auswahl des Zielgeräts.
Die "Name"-Eigenschaft der lokalen Win32_ComputerSystem-Instanz hat immer denselben Wert wie die Umgebungsvariable %COMPUTERNAME% - die Bedingung ist also stets erfüllt.
Lange Rede, kurzer Sinn: wmic wendet die Aktionen ohne /node:-Parameter stets auf's lokale Gerät an, was die Bedingung - wie @puderpader bereits angemerkt hat - überflüssig macht; da steht quasi immer "where 1=1"...
Viel Erfolg!
Man macht das immer so [...]
...hat mich getriggert :P
Um das wmic-Kommando auf einem anderen Gerät anzuwenden, ist imho dessen "/node:"-Parameter notwendig - die CIM-Eigenschaft "Name" hat keinerlei Bezug zur Auswahl des Zielgeräts.
Die "Name"-Eigenschaft der lokalen Win32_ComputerSystem-Instanz hat immer denselben Wert wie die Umgebungsvariable %COMPUTERNAME% - die Bedingung ist also stets erfüllt.
Lange Rede, kurzer Sinn: wmic wendet die Aktionen ohne /node:-Parameter stets auf's lokale Gerät an, was die Bedingung - wie @puderpader bereits angemerkt hat - überflüssig macht; da steht quasi immer "where 1=1"...
Viel Erfolg!