25239
Goto Top

Computername per Batch auslesen

[Edit] Auf "Gelöst" gesetzt und nach "Batch & Shell" verschoben. Biber 8.3.2006 [Edit]

Hallo zusammen,

folgendes Problem.
Ich möchte den Computernamen mittels einer Batch auslesen zb. 123W12345 oder 123N12345 es geht um die vierte Stelle, also W oder N.
Nachdem diese ermittelt ist sollen entweder für W eine weitere batch gestartet die einen Reg Wert erstellt und gesetzt werden und für N eine weitere die einen anderen Wert setzt.
Das einfachste, die zwei batch files mit den Reg Werten, habe ich schon. Mit dem anderen komme ich irgendwie nicht weiter.

Vielleicht hat ja jemand ne Idee?

Danke schonmal für eure Hilfe.

MFG Marc

Content-Key: 27257

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

Printed on: April 24, 2024 at 16:04 o'clock

Member: Ultraschnecke
Ultraschnecke Mar 02, 2006 at 16:18:26 (UTC)
Goto Top
Schreib Dir doch ein kleines Programm (z.B. in C oder was auch immer), dass Dir die 4. Position des übergebenen Strings zurückliefert.
Aufruf mit String, Rückgabe der entsprechende Buchstabe. Mit einer einfachen IF-Abfrage kannst Du dann die entsprechende Batch-Datei starten.

Gruss
Member: Biber
Biber Mar 02, 2006 at 16:40:17 (UTC)
Goto Top
*lacht*
...das mit dem C-Programm ist natürlich auch erwägenswert, aber (weil wir zeitig essen heute) würde ich als Übergangslösung schreiben:

::--------------BeginOfBatch---------
::....
If [%computername:~3,1%]==[W] Call :W_Computer & goto :eof
If [%computername:~3,1%]==[N] Call :N_Computer & goto :eof
Echo Fehler! Computername hat weder W noch N an vierter Stelle.
goto :eof

:W_Computer
....( rufe *.reg für diesen Computer..)
goto :eof

:N_Computer
....( rufe *.reg für diesen Computer..)
goto :eof
::-----------endOfBatch---
HTH Biber
Member: Ultraschnecke
Ultraschnecke Mar 02, 2006 at 16:48:10 (UTC)
Goto Top
OK, das ist ein wenig eleganter, geb ich ja zu...
Member: Biber
Biber Mar 02, 2006 at 21:20:25 (UTC)
Goto Top
@Ultraschnecke
Na ja, *bescheiden guckt*,
richtig elegant wäre es gewesen, wenn ich Marc nahegelegt hätte, das alles in einer Batchdatei statt in dreien abzufackeln, aber ich wollte nicht gleich mit der Tür ins Haus fallen...

Schönen Abend
Biber
Mitglied: 25239
25239 Mar 03, 2006 at 18:29:17 (UTC)
Goto Top
@Biber

Das hört sich doch schon sehr gut an. Wenn du noch ein Vorschlag machen würdest/könntest wie ich das am einfachsten mit einer Batch lösen kann?! Dann mach ruhig.

MFG Marc
Member: Biber
Biber Mar 03, 2006 at 22:01:08 (UTC)
Goto Top
Na ja, Marc2102,

kein Problem. Dann müssen wir mal
a) unsere Batch-Skizzen zusammenschmeißen (meinen Schnipsel von oben und Deine beiden RegValue-Lade-Bätche
b) noch klären, wie der Batch laufen soll
- als Teil des Loginscripts von jedem Client einmalig ausgeführt?
- oder on demand durch manuellen Doppelklick der (einzeln per Mail benachrichtigten) Client-User, die Deinen Batch auf \\serverXY\FreigabeZ ausführen sollen?

Wie ist das Szenario? Und wie sehen Deine RegValue-Lade-Bätche aus?

Gruß
Biber
Mitglied: 25239
25239 Mar 06, 2006 at 07:13:26 (UTC)
Goto Top
@Biber

Hier sind meine beiden Schnipsel.
Wenn erkannt wird das im Computernamen ein N an vierter Stelle vorhanden ist soll die Umgebungsvariable gesetzt werden.

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "PCTYPE" /t REG_SZ /d "NOTEBOOK" /f

Andernfalls ein W der gleiche Eintrag mit Workstation

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "PCTYPE" /t REG_SZ /d "WORKSTATION" /f
Member: Biber
Biber Mar 06, 2006 at 09:52:20 (UTC)
Goto Top
Moin Marc2102,

gut, die einfachste Variante:

::--snipp SetPCType1.bat--------- 
::....
@echo off
If [%computername:~3,1%]==[W] Call :W_Computer & goto :eof 
If [%computername:~3,1%]==[N] Call :N_Computer & goto :eof 
Echo Fehler! Computername hat weder W noch N an vierter Stelle. 
goto :eof 

:N_Computer 
::....( rufe *.reg für diesen NOTEBOOK-Computer..) 
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "PCTYPE" /t REG_SZ /d "NOTEBOOK" /f   
goto :eof 

:N_Computer 
::....( rufe *.reg für diese WORKSTATION..) 
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "PCTYPE" /t REG_SZ /d "WORKSTATION" /f   

goto :eof 
::--- snapp SetPcType1.bat--- 

Ein bisschen wartbarer:

::--snipp SetPCType2.bat--------- 
::....
@echo off & setlocal
If /i [%computername:~3,1%] NEQ [W] If /i [%computername:~3,1%] (
Echo Fehler! Computername %computername% hat weder W noch N an vierter Stelle. 
goto :eof 
)
Set "RegKey=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"  
If /i [%computername:~3,1%]==[N] reg add "%Regkey%" /v "PCTYPE" /t REG_SZ /d "NOTEBOOK" /f   
If /i [%computername:~3,1%]==[W] reg add "%Regkey%" /v "PCTYPE" /t REG_SZ /d "WORKSTATION" /f   
::--- snapp SetPcType2.bat--- 
HTH Biber
Mitglied: 25239
25239 Mar 06, 2006 at 10:28:16 (UTC)
Goto Top
Super Biber,

hat geklappt. Danke für deine Hilfe.
Ich hab von der SetPCType2.bat den unteren drei Zeiler genommen da bei uns alle Rechner richtig benannt sind.
Mitglied: 25239
25239 Mar 06, 2006 at 13:20:21 (UTC)
Goto Top
@Biber nochmal

kurze Frage noch, irgendeine Idee wie ich einen ordner per batch verstecken kann!

MFG Marc
Member: Biber
Biber Mar 06, 2006 at 13:48:24 (UTC)
Goto Top
Moin Marc,
D:\temp=>
md test
attrib test
D:\temp\test
D:\temp=>
attrib +h test

D:\temp=>
attrib test
H D:\temp\test

> das neu angelegte Verzeichnis mit dem Hidden-Attribut wird am CMD-Prompt z. B. beim DIR-Befehl nicht mehr angezeigt.

Gruß
Biber
Member: thropie
thropie Aug 18, 2007 at 12:00:23 (UTC)
Goto Top
Verstehe nicht ganz was If [%computername:~3,1%] das 3,1% zu bedeuten hat.
Ich sbrauche das gleiche nur geht es bei mir darum ob die ersten Zeichen des Computernamens NCHA oder CCHA ist.
Da je nach diesen stellen ein ander Teil des Scrips ablaufen muss.

Danke gruss
Member: Biber
Biber Aug 19, 2007 at 21:27:22 (UTC)
Goto Top
Moin thropie,

dann teste doch einfach mal bei Dir am CMD-Prompt ein...
echo %computername:~3,1%
echo %computername:~0,4%
Erläuterung und Beispiele zu dieser SubString-Funktionalität im CMD-Kontext stehen in der Hilfe zu SET ("SET /? " am CMD-Prompt).

Grüße
Biber
Member: daa498
daa498 May 17, 2008 at 19:11:11 (UTC)
Goto Top
Hi Biber!

Ich hab das hier gelesen weil ich was über den Comutername wissen wollte, aber nun interesiert mich das... Wie ich das mit bekommen habe kann mann den Namen löschen und wozu ist das gut (für Häcker)?

Gruß
Dan
Member: Biber
Biber May 17, 2008 at 19:55:33 (UTC)
Goto Top
Moin daa498,

na ja, sooo aufregend ist das Feature mit dem Hidden-Attribut in den letzten zwei Jahrzehnten nicht mehr.
In den Anfängen der Verbreitung der Personal Computer, als noch nicht jeder Haushalt über durchschnittlich 883,7 GByte Plattenplatz für Urlaubsfotos und die entsprechenden Grundkenntnisse verfügte, damals konnten Softwarehersteller noch Kopierschutz-Mechanismen über "unsichtbare" Dateien und Ordner realisieren.

Heutzutage ist es relativ witzlos, Ordner dadurch verstecken zu wollen, dass Du ihnen ein Schild mit der Aufschrift "HIDDEN" in die Hand drückst...

Mit Hackern hat es nichts mehr zu tun - und selbst als Kindersicherung ist es (wenn es "Computerbild" für einen Euro gibt) nicht zu gebrauchen.

Ist ein historisches Relikt, mehr nicht.

Grüße
Biber