chillstriker
Goto Top

Computerbeschreibung via Batch auslesen und ändern

Hallo
Ich habe ein Problem bei einer Aufgabe die ich bewältigen soll, unszwar via Batch Datei den CN auslesen und mit dem Inhalt einer txt Datei vergleichen um daraus dann die passende Computerbeschreibung zu ändern. Ich arbeite zur Zeit in einer Firma mit ca 200 Mitarbeitern und bei allen muss die Computerbeschreibung geändert werden!

So also ich bin wirklich nicht sehr gesegnet mit fundiertem Wissen über Batch Dateien schreiben. Aber ich kann relativ gut mit der console umgehen und hab schon etwas in Erfahrung gebracht.

Auf diesem Stand häng ich nun:

rem Computername ausgeben

@echo Ihr Computername: %computername% &

REM Computerbeschreibung ändern
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "srvcomment" /t REG_SZ /d %Beschreibung% /f

rem in txt Datei suchen

findstr /c:"computername" eingabe.txt

also die Batch sollte den Computernamen auslesen und diesen dann mit einer txt Datei Zeile für Zeile vergleichen.

Die TXT sieht so aus:

Computername Computerbeschreibung
Computername Computerbeschreibung
Computername Computerbeschreibung

z.b

testpc1 Max-Mustermann1: Buchhaltung
testpc2 Max-Mustermann2: Werk
testpc3 Max-Mustermann3: Verwaltung

sobald der eigene CN gefunden wurde das nachstehende dann in die Computerbeschreibung eintragen.

Wenn mir einer helfen könnte wäre das wirklich super danke.

Content-Key: 196805

Url: https://administrator.de/contentid/196805

Printed on: April 19, 2024 at 13:04 o'clock

Member: bastla
bastla Jan 11, 2013 updated at 09:31:51 (UTC)
Goto Top
Hallo ChillStriker und willkommen im Forum!

Ungetestet etwa so:
setlocal
for /f "tokens=1*" %%i in ('findstr /ibc:"%computername% " "\\Server\Share\Computerliste.txt"') do set "Beschreibung=%%j"  
if defined Beschreibung reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "srvcomment" /t REG_SZ /d "%Beschreibung%" /f  
Grüße
bastla
Member: ChillStriker
ChillStriker Jan 11, 2013 at 09:50:22 (UTC)
Goto Top
Hay und danke für deine schnelle Antwort ich habs getestet aber da kommt nicht viel bei raus.Wie erkennt die Batch denn dass es das nachfolgende in der Zeile als Beschreibung eintragen soll? Also das nach dem CN.

z.B
testpc1 Max Mustermann

also ich würde nur das Max Mustermann in der Beschreibung haben wollen und muss ich zu deinem Code noch etwas hinzufügen? das ich den Ort der TXT angeben muss ist mir klar :D
Member: bastla
bastla Jan 11, 2013 at 12:08:01 (UTC)
Goto Top
Hallo ChillStriker!

Nach der Zeile 2 sollte in der Variablen %Beschreibung% alles enthalten sein, was in der Textdatei nach dem ersten Leerzeichen steht (wobei ich davon ausgegangen bin, dass der Computername unmittelbar am Zeilenanfang zu finden ist, deswegen auch das "/b" bei "findstr" - Du kannst das ja mal zur Kontrolle mit
echo %Beschreibung%
ausgeben.

Die "reg add"-Zeile habe ich (bis auf die Prüfung, ob überhaupt eine Beschreibung gefunden wurde) dann von Dir übernommen, da ich davon ausgegangen bin, dass Du diese schon getestet hast - vermutlich würde auch
if defined Beschreibung reg add HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters /v srvcomment /d "%Beschreibung%" /f
genügen ...

Grüße
bastla
Member: ChillStriker
ChillStriker Jan 11, 2013 at 12:53:40 (UTC)
Goto Top
Dank dir viel mals funktioniert alles wunderbar