Domäne auslesen

Antworten
Stefan W
Beiträge: 48
Registriert: 13 Jul 2011, 16:39

Domäne auslesen

Beitrag von Stefan W »

Guten Morgen zusammen,

gibt es ein Opsi-Befehl mit dem man die Domäne des Client auslesen kann? Über die Registry würde ich einen weg haben würde es nur schöner finden das über ein Befehl zu machen wenn es einen geben sollte.

Gruß
Stefan
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: Domäne auslesen

Beitrag von d.oertel »

Hi,

du meinst:
die Windows Domain (oder die DNS Domain) ?
einen Kommandozeilen Befehl auf dem opsi-server ?

gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
Stefan W
Beiträge: 48
Registriert: 13 Jul 2011, 16:39

Re: Domäne auslesen

Beitrag von Stefan W »

Ich würde gerne die Windows Domain mit einem Opsi Befehl auslesen
uncle_scrooge
Beiträge: 650
Registriert: 21 Feb 2012, 12:03
Wohnort: Mainz

Re: Domäne auslesen

Beitrag von uncle_scrooge »

Vielleicht denke ich wieder zu simpel und habe das Problem nicht verstanden.
Aber warum nicht

set $MyDomain$ = EnvVar ("Userdomain")

?
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3319
Registriert: 04 Jun 2008, 14:27

Re: Domäne auslesen

Beitrag von d.oertel »

Hi,
einen Kommandozeilen Befehl auf dem opsi-server ?
gruß
d.oertel
opsi support - uib gmbh

For productive opsi installations we recommend support contracts.
http://www.uib.de
http://www.opsi.org
Stefan W
Beiträge: 48
Registriert: 13 Jul 2011, 16:39

Re: Domäne auslesen

Beitrag von Stefan W »

Ja mit einem Kommandozeilen Befehl
seteqsystems
Beiträge: 62
Registriert: 12 Sep 2012, 11:51
Wohnort: Hall in Tirol

Re: Domäne auslesen

Beitrag von seteqsystems »

ich checks nicht...

Die Domain des betreffenden Clients im Winst-Installationsskript kannst du so auslesen

Code: Alles auswählen

; liefert DEINEDOMAIN
set $MyDomain$ = EnvVar ("USERDOMAIN")

; liefert DEINEDOMAIN.LOCAL
set $MyDnsDomain$ = EnvVar ("USERDNSDOMAIN")
Auf der Linux-Kommandozeile des Servers kannst du den Domainnamen des Servers so anzeigen:

Code: Alles auswählen

hostname -d
Wenn du vom Server aus den aktuellen Domainnamen eines Clients anzeigen willst stelle ich mir die Frage, anhand welchen Kriteriums du den Client auswählen willst?

Den FQDN eines Clients kannst du anhand der IP-Adresse auf der Linux-Kommandozeile so ermitteln (sauberes DNS vorausgesetzt!):

Code: Alles auswählen

root@opsi4:/# host 10.4.99.12
12.99.4.10.in-addr.arpa domain name pointer wxptest01.seteq.local.
Noch Fragen?
islam
Beiträge: 103
Registriert: 19 Okt 2011, 12:08

Re: Domäne auslesen

Beitrag von islam »

Auf Windows 7 getestet:

Code: Alles auswählen

NET CONFIG WORK
In der Konsole direkt "cmd.exe"

Code: Alles auswählen

FOR /f "tokens=2 delims= " %i in ('net config work ^| find /i "Arbeitsstationsdom"') do echo %i
In einem Batchskript (.cmd Datei)

Code: Alles auswählen

@echo off
FOR /f "tokens=2 delims= " %%i in ('net config work ^| find /i "Arbeitsstationsdom"') do echo %%i
pause
Stefan W
Beiträge: 48
Registriert: 13 Jul 2011, 16:39

Re: Domäne auslesen

Beitrag von Stefan W »

Sorry wenn ich das Thema noch einmal eröffne jedoch habe ich da noch mal eine Frage.
Ich habe mir ein Skript gebaut welches wie folgt aussieht:

Code: Alles auswählen

DefVar $MyDomain$
DefVar $dnsdomain$
DefVar $hostname$
DefVar $fqdn$

set $MyDomain$ = EnvVar ("USERDOMAIN")
set $hostname$ = EnvVar ("COMPUTERNAME")
set $dnsdomain$ = EnvVar ("USERDNSDOMAIN")
set $fqdn$ = $hostname$ + "." + $dnsdomain$  
Wenn ich dieses Skript local auf dem Client über den winst ausführe bekomme ich folgende Ausgabe:

Code: Alles auswählen

Set  $MyDomain$ = EnvVar ("USERDOMAIN")
[6] [Jul 31 15:03:57:626]   The value of the variable "$MyDomain$" is now: "xyc"
[5] [Jul 31 15:03:57:627] 
[5] [Jul 31 15:03:57:628] Set  $hostname$ = EnvVar ("COMPUTERNAME")
[6] [Jul 31 15:03:57:630]   The value of the variable "$hostname$" is now: "C462092"
[5] [Jul 31 15:03:57:631] 
[5] [Jul 31 15:03:57:633] Set  $dnsdomain$ = EnvVar ("USERDNSDOMAIN")
[6] [Jul 31 15:03:57:634]   The value of the variable "$dnsdomain$" is now: "xyc.DE"
[5] [Jul 31 15:03:57:636] 
[5] [Jul 31 15:03:57:637] Set  $fqdn$ = $hostname$ + "." + $dnsdomain$
[6] [Jul 31 15:03:57:639]   The value of the variable "$fqdn$" is now: "C462092.xyc.DE"
Wenn ich das Skript über den Opsi-Server ausführe bekomme ich folgende Meldung:

Code: Alles auswählen

Set  $MyDomain$ = EnvVar ("USERDOMAIN")
[6] [Jul 31 14:55:54:440] [computerinfo]   The value of the variable "$MyDomain$" is now: "xyc"
[5] [Jul 31 14:55:54:440] [computerinfo] 
[5] [Jul 31 14:55:54:440] [computerinfo] Set  $hostname$ = EnvVar ("COMPUTERNAME")
[6] [Jul 31 14:55:54:440] [computerinfo]   The value of the variable "$hostname$" is now: "C462092"
[5] [Jul 31 14:55:54:440] [computerinfo] 
[5] [Jul 31 14:55:54:440] [computerinfo] Set  $dnsdomain$ = EnvVar ("USERDNSDOMAIN")
[6] [Jul 31 14:55:54:440] [computerinfo]   The value of the variable "$dnsdomain$" is now: "/-!!- not found -!!-/"
[5] [Jul 31 14:55:54:440] [computerinfo] 
[5] [Jul 31 14:55:54:440] [computerinfo] Set  $fqdn$ = $hostname$ + "." + $dnsdomain$
[6] [Jul 31 14:55:54:440] [computerinfo]   The value of the variable "$fqdn$" is now: "C462092./-!!- not found -!!-/"
Hat jemand eine Idee woran das liegen könnte und was ich machen kann?

Vielen Dank schon mal
seteqsystems
Beiträge: 62
Registriert: 12 Sep 2012, 11:51
Wohnort: Hall in Tirol

Re: Domäne auslesen

Beitrag von seteqsystems »

Ganz einfache Antwort: Das OPSI-Script läuft unter dem lokalen SYSTEM-Account, und dort gibt es keine USERDNSDOMAIN ;)

Warum nimmst du nicht einfach die OPSI-Interne Variable %HostID% - die liefert dir wunderschön den full qualified Domainame des Rechners...

Alternative: DNS-Domain aus der Registry auslesen - und zwar unter: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Domain
Antworten