janni2007
Goto Top

Computernamen anhand des OS festlegen per Batch

Hallo Zusammen,

ich bin neu hier und habe ein Problem bei dem Google mir als Anfänger nicht weiterhelfen konnte.

Endergenbis:
Nach dem ausführen einer Batchdatei, soll das OS mit Arch. ausgelesen und der Computername somit vergeben werden.

Zb. Wenn der Computer auf dem die Batchdatei aufgerufen wird, ein Win7 32bit ist, soll der ComputerName: PC1-Win7-32 lauten

wird die gleiche Batchdatei auf einen anderen Computer mit Win7 64bit aufgerufen, soll der ComputerName: PC1-Win7-64bit lauten

Ich habe bereits versucht das OS und die Arch. aus der Reg. auszulesen "reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"

und im QuellText den Computernamen fest ohne Variablen zu vergeben also:

REG add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d PC1-Win7-32 /f

Hat jemand eine Idee wie ich das (als Blutiger Anfänger) anstellen kann

VG
Janni

Content-Key: 301955

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

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

Member: MrCount
MrCount Apr 15, 2016 at 12:38:19 (UTC)
Goto Top
Hi,

also, ob es ein 32 oder 64 bit Windows ist, kannst du z.B. so herausfinden:

set "xbit=32"  
if exist %windir%\SysWOW64 set "xbit=64"  

Den Namen dann entsprechend zu setzen würde so gehen:

REG add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d PC1-Win7-%xbit% /f  
Mitglied: 127944
127944 Apr 15, 2016 at 12:43:17 (UTC)
Goto Top
Den Namen würde ich eher in der Art setzen:

wmic computersystem where name="Alter_Name" call rename name="Neuer_name"  
Member: MrCount
MrCount Apr 15, 2016 at 12:45:17 (UTC)
Goto Top
Die Änderung wird aber erst nach einem Neustart übernommen.
Mitglied: 127944
127944 Apr 15, 2016 updated at 12:48:35 (UTC)
Goto Top
Zitat von @MrCount:

Die Änderung wird aber erst nach einem Neustart übernommen.
So wie immer halt face-wink


Zitat von @MrCount:

REG add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d PC1-Win7-%xbit% /f  
Ist nur eine Vermutung - aber würde das in einer Domäne nicht fürchterlich in die Hose gehen?
Member: MrCount
MrCount Apr 15, 2016 at 12:48:44 (UTC)
Goto Top
So wie immer halt face-wink

Ja, aber "als blutiger Anfänger" denkt man da vielleicht nicht dran... face-wink
Member: MrCount
MrCount Apr 15, 2016 at 12:49:38 (UTC)
Goto Top
Ist nur eine Vermutung - aber würde das in einer Domäne nicht fürchterlich in die Hose gehen?
Er hat nix von einer Domäne gesagt... face-big-smile
Member: Janni2007
Janni2007 Apr 15, 2016 at 13:06:47 (UTC)
Goto Top
Hallo Zusammem,
vielen Dank für eure Antowrten.

Die Rechner befinden sich nicht in einer Domöne. Die Rechner sind all in einer Normalen Arbeitsgruppe.

  • set "xbit=32"
if exist %windir%\SysWOW64 set "xbit=64"
REG add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d PC1-Win7-%xbit% /f*

soweit habe ich es verstanden. face-smile Danke dafür.
wie sieht es aus wenn ich das noch win8.1 oder win10 als OS habe?
wie verhällt sich die Abfrage dann ?

Danke euch schonmal
VG
Janni (derblutigeanfänger) face-smile
Mitglied: 114757
114757 Apr 15, 2016 updated at 18:54:21 (UTC)
Goto Top
Zitat von @Janni2007:
wie sieht es aus wenn ich das noch win8.1 oder win10 als OS habe?
wie verhällt sich die Abfrage dann ?
So kannst du die OS unterscheiden
@echo off & setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=2,3 skip=2 delims=," %%a in ('wmic os get Version^,ProductType /format^:csv 2^>nul') DO set "OSTYPE=%%a" & set "OSVERSION=%%b"  

if "%OSTYPE%" == "1" (  
	if "%OSVERSION:~0,3%" == "5.0" set "MYOS=WIN2000"  
	if "%OSVERSION:~0,3%" == "5.1" set "MYOS=WINXP"  
	if "%OSVERSION:~0,3%" == "5.2" set "MYOS=WINXP64"  
	if "%OSVERSION:~0,3%" == "6.0" set "MYOS=VISTA"  
	if "%OSVERSION:~0,3%" == "6.1" set "MYOS=WIN7"  
	if "%OSVERSION:~0,3%" == "6.2" set "MYOS=WIN8"  
	if "%OSVERSION:~0,3%" == "6.3" set "MYOS=WIN81"  
	if "%OSVERSION:~0,4%" == "10.0" set "MYOS=WIN10"  
) else (
	if "%OSVERSION:~0,3%" == "5.2" set "MYOS=SERVER2003"  
	if "%OSVERSION:~0,3%" == "6.0" set "MYOS=SERVER2008R2"  
	if "%OSVERSION:~0,3%" == "6.1" set "MYOS=SERVER2008R2"  
	if "%OSVERSION:~0,3%" == "6.2" set "MYOS=SERVER2012"  
	if "%OSVERSION:~0,3%" == "6.3" set "MYOS=SERVER2012R2"  
	if "%OSVERSION:~0,4%" == "10.0" set "MYOS=SERVER2016"  
)
echo %MYOS%
Hier die Info zu den OS-Version Numbers:
https://msdn.microsoft.com/de-de/library/windows/desktop/ms724832%28v=vs ...

Gruß jodel32