Log-On Skript Abfrage: Computer in AD-Gruppe
Guten Tag zusammen,
folgendes Problem:
Unsere Mitarbeiter (600 Computer) arbeiten mit einem FAT-Client und Windows 7 in unserem Netzwerk. Ihre Programme bekommen Sie durch Citrix bereitgestellt.
Die Netzlaufwerke sollen auch nur im Citrix "Arbeitsplatzexplorer" eingemappt werden( Außer bei Ausnahmefällen[40 Computer], welche die Netzlaufwerke auch am Fat-Client eingemappt bekommen).
Die Netzlaufwerke werden über das Anmeldeskript eingemappt.
Ich habe eine AD-Gruppe erstellt "Netlogon - Laufwerke lokal einmappen", dort habe ich all unsere Citrix-Server und die Ausnahme-Computer eingetragen.
Die Benutzers-Anmeldescripts habe ich so aufgebaut:
Das ganze funktioniert wunderbar gut auf unseren Citrix-Servern und auf unseren Admin-Clients, da bei unseren Computern die Remote Administration Tools installiert sind, welche das Tool "dsget" enthalten. Nun habe ich aber nicht dran gedacht, dass diese Windows Funktion nicht standardmäßig installiert ist.
Nun meine Frage:
Wie würdet Ihr das Problem lösen?
Gibt es andere Standard-Tools die es mir ohne Adminrechte ermöglichen meine Computer-Gruppen-Mitgliedschaft auszulesen?
Vielen Dank schon Mal für Eure Antworten
Gruß Giffas
folgendes Problem:
Unsere Mitarbeiter (600 Computer) arbeiten mit einem FAT-Client und Windows 7 in unserem Netzwerk. Ihre Programme bekommen Sie durch Citrix bereitgestellt.
Die Netzlaufwerke sollen auch nur im Citrix "Arbeitsplatzexplorer" eingemappt werden( Außer bei Ausnahmefällen[40 Computer], welche die Netzlaufwerke auch am Fat-Client eingemappt bekommen).
Die Netzlaufwerke werden über das Anmeldeskript eingemappt.
Ich habe eine AD-Gruppe erstellt "Netlogon - Laufwerke lokal einmappen", dort habe ich all unsere Citrix-Server und die Ausnahme-Computer eingetragen.
Die Benutzers-Anmeldescripts habe ich so aufgebaut:
@echo off
REM Überprüfung ob der Computer Mitglied in der AD-Gruppe "Netlogon - Netzlaufwerke lokal einmappen" ist.
dsget group "CN=Netlogon - Netzlaufwerke lokal einmappen,OU=YYYY,OU=XXXX,OU=XXXX,DC=XXXX,DC=XXXX,DC=XXXX" -members | find "%Computername%">nul
if errorlevel 1 exit
net use h: \\Freigabe1 /persistent:no
net use f: \\Freigabe2 /persistent:no
net use l: \\Freigabe3 /persistent:no
net use p: \\Freigabe4 /persistent:no
Das ganze funktioniert wunderbar gut auf unseren Citrix-Servern und auf unseren Admin-Clients, da bei unseren Computern die Remote Administration Tools installiert sind, welche das Tool "dsget" enthalten. Nun habe ich aber nicht dran gedacht, dass diese Windows Funktion nicht standardmäßig installiert ist.
Nun meine Frage:
Wie würdet Ihr das Problem lösen?
Gibt es andere Standard-Tools die es mir ohne Adminrechte ermöglichen meine Computer-Gruppen-Mitgliedschaft auszulesen?
Vielen Dank schon Mal für Eure Antworten
Gruß Giffas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 309826
Url: https://administrator.de/forum/log-on-skript-abfrage-computer-in-ad-gruppe-309826.html
Ausgedruckt am: 13.04.2025 um 21:04 Uhr
10 Kommentare
Neuester Kommentar

Hi.
Why are you still using a script to map the drives ????
With GPP and ItemLevelTargeting or security filtering this is done much cleaner ...
If you still want to use scripts VBS can query the group membership too
Regards
Why are you still using a script to map the drives ????
With GPP and ItemLevelTargeting or security filtering this is done much cleaner ...
If you still want to use scripts VBS can query the group membership too
Set objSysInfo = CreateObject("ADSystemInfo")
strComputer = objSysInfo.ComputerName
Set objComputer = GetObject("LDAP://" & strComputer)
objmemberOf = objComputer.GetEx("memberOf")
For Each objGroup in objmemberOf
groupCN = Split(objGroup, ",")
groupName = Mid(groupCN(0),4)
Next Select Case groupName
Case "TestGroup"
Wscript.Echo groupName
Case Else
Wscript.Echo ""
End Select
Hi,
wie wäre es damit?
Eine zweigleisige Lösung:
- Login-Script für Terminal- und Citrixsession. Du musst dabei nur überprüfen, ob die Variable %SESSIONNAME% existiert und nicht NULL ist.
Damit kannst Du den Effekt des Scripts auf diese Sitzungen begrenzen.
- Login-Script für bestimmte Clients. Auf diese GPO legst Du einen WMI-Filter.
Ein Beispiel hier für:
Die hier gezeigte Abfrage prüft lediglich auf Windows 10 und neuer.
Ich schau mal, ob ich Dir nen Filter für Gruppenmitgliedschaft des Rechners bauen kann.
Ergänzung:
http://sdmsoftware.com/wp-content/uploads/2013/04/wmiquery.jpg
Zeigt die Abfrage für OU-basierte Zugehörigkeit.
wie wäre es damit?
Eine zweigleisige Lösung:
- Login-Script für Terminal- und Citrixsession. Du musst dabei nur überprüfen, ob die Variable %SESSIONNAME% existiert und nicht NULL ist.
Damit kannst Du den Effekt des Scripts auf diese Sitzungen begrenzen.
- Login-Script für bestimmte Clients. Auf diese GPO legst Du einen WMI-Filter.
Ein Beispiel hier für:
Die hier gezeigte Abfrage prüft lediglich auf Windows 10 und neuer.
Ich schau mal, ob ich Dir nen Filter für Gruppenmitgliedschaft des Rechners bauen kann.
Ergänzung:
http://sdmsoftware.com/wp-content/uploads/2013/04/wmiquery.jpg
Zeigt die Abfrage für OU-basierte Zugehörigkeit.
Und hier noch eine Powershell-Variante:
oder
Aber Netzlaufwerke per Skript mappen? Das ist schon ziemlich, isch sach ma so: "antik" 
Grüße Uwe
$groupname ="CN=Netlogon - Netzlaufwerke lokal einmappen,OU=YYYY,OU=XXXX,OU=XXXX,DC=XXXX,DC=XXXX,DC=XXXX"
if ($groupname -in ([adsisearcher]"(&(objectCategory=Computer)(cn=$env:Computername))").FindOne().Properties.memberof){
write-host "Computer is member of $groupname"
}
$groupmembers = ([adsisearcher]"(&(objectCategory=Group)(cn=Netlogon - Netzlaufwerke lokal einmappen))").FindOne().Properties.member
$dn = ([adsisearcher]"(&(objectCategory=Computer)(cn=$env:Computername))").FindOne().Properties.distinguishedname
if ($dn -in $groupmembers){
write-host "Computer is member"
}
Grüße Uwe

Ich empfehle da Zielgruppenadressierung (GPP): https://community.spiceworks.com/how_to/17039-mapping-drives-with-group- ...

Dieses funktioniert leider nicht, da man dieses Tool nur auf einem Domain-Controller ausführen darf.
Where did you get this wrong information ???net group can be issued by a normal domain member on a client machine without issues as long it has a network connection to the domain, tested it successfully...
But better migrate to GPP. Make yourself a plan who gets which shares, try to aggregate them into groups and then first start testing it in a VM environment. After that implement it step by step into your production environment.
Regards