giffas
Goto Top

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:

@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 face-smile

Gruß Giffas

Content-Key: 309826

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

Printed on: April 26, 2024 at 08:04 o'clock

Mitglied: 129813
129813 Jul 14, 2016 updated at 14:18:47 (UTC)
Goto Top
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
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
Regards
Member: beidermachtvongreyscull
beidermachtvongreyscull Jul 14, 2016 updated at 14:16:46 (UTC)
Goto Top
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:
gpo-filter
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.
Member: DerWoWusste
Solution DerWoWusste Jul 14, 2016 at 14:10:58 (UTC)
Goto Top
Hi.

Oder
net group gruppenname /domain |findstr /i %computername%
Member: colinardo
colinardo Jul 14, 2016 updated at 15:07:58 (UTC)
Goto Top
Und hier noch eine Powershell-Variante:
$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"  
}
oder
$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"  
}
Aber Netzlaufwerke per Skript mappen? Das ist schon ziemlich, isch sach ma so: "antik" face-smile

Grüße Uwe
Mitglied: 48507
48507 Jul 15, 2016 at 06:33:14 (UTC)
Goto Top
Member: Giffas
Giffas Jul 15, 2016 at 06:51:35 (UTC)
Goto Top
Guten morgen zusammen,

danke erstmal für die Vielen Antworten.

Wie ich sehe seid Ihr nicht begeistert von der Anmeldescript-Lösung die wir schon seit vielen Jahren betreiben, es gab denk ich einfach keinen Bedarf das zu ändern.

Eure Vorschläge gefallen mir eher weniger, sprich mit JavaScript oder PowerShell zu arbeiten. Ich hätte es lieber mit einem einfachen Programm wie @DerWoWusste vorgeschlagen hat. Dieses funktioniert leider nicht, da man dieses Tool nur auf einem Domain-Controller ausführen darf.

Ich tendiere also eher unser Anmeldescript auf GPP umzustellen. Wir haben ungefähr 350 AnmeldeScripts.. Ich kann mir vorstellen, dass das eine riesen Arbeit wird, das auf GPP umzustellen, oder liege ich da falsch?

Wie seid Ihr da vorgegangen um vom Anmelde-Script zum GPP zu wechseln, war das viel Arbeit, kam es zu irgendwelchen Problemen?

Gruß Giffas
Mitglied: 129813
Solution 129813 Jul 15, 2016 updated at 07:06:07 (UTC)
Goto Top
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
Member: DerWoWusste
DerWoWusste Jul 15, 2016 at 07:44:04 (UTC)
Goto Top
Highload, nett, dass Du mich unterstützt, ich hätte gerade das Selbe schreiben wollen.

PS: warum in Englisch, war nicht gerade erst Brexit, grexit?
Member: Giffas
Giffas Jul 15, 2016 at 08:41:39 (UTC)
Goto Top
Hello highload,

thank you for your answers.
I did a mistake... I issued only the "net group" command to see what happens.
When i enter the full command it works...

I think i will migrate to GPP in the future.

Thank!
Member: DerWoWusste
DerWoWusste Jul 15, 2016 at 08:44:12 (UTC)
Goto Top
Ein weiser Entschluss.