Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

per VBS und GPO Nutzer in Admingruppe eintragen

Frage Microsoft Windows Netzwerk

Mitglied: Iwan

Iwan (Level 2) - Jetzt verbinden

16.04.2007, aktualisiert 19.04.2007, 7046 Aufrufe, 9 Kommentare

ich nutze die Lösung von hier:
http://www.administrator.de/Domain-Benutzergruppe_per_Script_in_lokale_ ...
das funktioniert auch sehr gut, aber leider nur auf deutschen Clients
nun soll das ganze aber auch auf englischen und französischen Win-Clients (2000 & XP) laufen
gibt es dazu eine Möglichkeit, die Sprachversion von Windows per VBS erst abzufragen um dann die immer gleichlautende Gruppe in die lokale Admingruppe eintragen zu lassen?
die lokale Admingruppe heissen ja dann Administratoren, Administrators und Administrateurs oder gibt es eine andere Möglichkeit, um die lokale Admingruppe anzugeben?
also quasi etwas für die Variable "strLocalGroup"?



*nachtrag 19.04.*
Thema als gelöst markiert, Lösung siehe unten
Mitglied: bastla
16.04.2007 um 15:15 Uhr
Hallo Iwan!

Vielleicht hilft das ...

Grüße
bastla
Bitte warten ..
Mitglied: Iwan
17.04.2007 um 10:55 Uhr
super, danke, damit konnte ich was anfangen

mein Skript dazu sieht nun so aus:
01.
On Error Resume Next 
02.
Set WshNetwork = WScript.CreateObject("WScript.Network") 
03.
strComputer = WSHNetwork.ComputerName 
04.
strDomain="WinNT://DOMÄNE/" 
05.
strUserAdd="DOMÄNGRUPPE" 
06.
 
07.
Set net = CreateObject("Wscript.Network") 
08.
Set objComputer = strDomain 
09.
strAdd=strDomain & strUserAdd 
10.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
11.
Set colAccounts = objWMIService.ExecQuery ("Select * From Win32_Group Where SID = 'S-1-5-32-544'") 
12.
 
13.
For Each objAccount in colAccounts 
14.
   strAdminGrp = objAccount.Name 
15.
   Set objLocalGroup = GetObject("WinNT://" & strComputer & "/" & strAdminGrp) 
16.
   objLocalGroup.Add(strAdd) 
17.
strAdminGrp & chr(13) & "Domain group added: " & strUserAdd 
18.
Next
damit funktioniert es unter Win 2000 & XP
Bitte warten ..
Mitglied: Biber
18.04.2007 um 08:56 Uhr
Prima, Iwan,

danke fürs Austüfteln, Testen und Posten.

THX
Biber
Bitte warten ..
Mitglied: Iwan
18.04.2007 um 09:53 Uhr
leider funktioniert das ganze per GPO als Startskript nicht so wirklich
die Rechner hingen teilweise bis zu 30 Minuten im Startskript fest, so das wir das Skript erstmal wieder rausnehmen mussten
das ganze wäre so einfach, wenn es nur um WinXP gehen würde....

falls jemand noch Ideen hat, dann immer her damit

*nachtrag*
so funktioniert es unter WinXP in diversen Sprachen ohne Probleme:
01.
On Error Resume Next 
02.
Set WshNetwork = WScript.CreateObject("WScript.Network") 
03.
strComputer = WSHNetwork.ComputerName 
04.
strUserAdd="DOMAIN-USER-GRUPPE" 
05.
strDomain="WinNT://DOMÄNE/" 
06.
strAdd=strDomain & strUserAdd 
07.
 
08.
Set net = CreateObject("Wscript.Network") 
09.
objComputer = strDomain 
10.
 
11.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
12.
Set colAccounts = objWMIService.ExecQuery ("Select * From Win32_Group Where LocalAccount = TRUE And SID = 'S-1-5-32-544'") 
13.
 
14.
For Each objAccount in colAccounts 
15.
    strAdminGrp = objAccount.Name 
16.
Next 
17.
 
18.
Set objLocalGroup = GetObject("WinNT://" & strComputer & "/" & strAdminGrp) 
19.
objLocalGroup.Add(strAdd)
leider kommt aber Win2000 mit der Abfrage bezügl. des Namen der lokalen Admingruppe nicht zurecht:
For Each objAccount in colAccounts
strAdminGrp = objAccount.Name
Next

Fehler 0x80041017 für die Zeile mit For Each
Bitte warten ..
Mitglied: Iwan
18.04.2007 um 12:55 Uhr
ok, jetzt hab ich es.... das For Each lief vor die Wand, weil er keine Werte bekam
nachdem das dann aber korrigiert war, lief diese Abfrage immer weiter und weiter und weiter...
ich hab das ganze dadurch abgefangen, das ich eine Abfrage auf "Admin" gemacht habe:
01.
On Error Resume Next 
02.
Set WshNetwork = WScript.CreateObject("WScript.Network") 
03.
strComputer = WSHNetwork.ComputerName 
04.
strUserAdd="USERGRUPPE" 
05.
strDomain="WinNT://DOMÄNE/" 
06.
strAdd=strDomain & strUserAdd 
07.
 
08.
Set net = CreateObject("Wscript.Network") 
09.
objComputer = strDomain 
10.
 
11.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
12.
Set colAccounts = objWMIService.ExecQuery ("Select * From Win32_Group Where SID = 'S-1-5-32-544'") 
13.
For Each objItem in colAccounts 
14.
    strAdminGrp = objItem.Name 
15.
    Test = Left(strAdminGrp,5) 
16.
    If Test = "Admin" Then Exit For 
17.
Next 
18.
 
19.
Set objLocalGroup = GetObject("WinNT://" & strComputer & "/" & strAdminGrp) 
20.
objLocalGroup.Add(strAdd)
damit sollte das Script nun nicht mehr ewig laufen
falls jemand eine bessere Filtermöglichkeit auf Lager hat, dann immer her damit
das Ergebnis muss sein, das die lokale Administratorgruppe unter Win 2000 und XP, jeweils in der Systemsprache (deutsch, englisch, französisch, etc.) in die Variable strAdmin geschrieben wird
Bitte warten ..
Mitglied: Biber
18.04.2007 um 21:01 Uhr
Na, Iwan,

dann denke ich, ich kann Dir eine kleine Performanceverbesserung bieten...*gg

Probier bitte diese Variante Deines Schnipsels:
01.
' On Error Resume Next 'bei mir gibt es keinen Error.. 
02.
Set WshNetwork = WScript.CreateObject("WScript.Network") 
03.
strComputer = WSHNetwork.ComputerName 
04.
'ab hier anpassen 
05.
strUserAdd="USERGRUPPE" 
06.
strDomain="WinNT://DOMÄNE/" 
07.
'bis hier anpassen 
08.
strAdd=strDomain & strUserAdd 
09.
 
10.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
11.
' Aufpassen, dass das Leerzeichen nach dem "_" in der nächsten Zeile da ist !!! 
12.
Set colAccounts = objWMIService.ExecQuery _  
13.
  ("Select * From Win32_Group Where Domain ='" & strComputer & "' and SID = 'S-1-5-32-544'") 
14.
For Each objItem in colAccounts 
15.
       strAdminGrp = objItem.Name 
16.
    ' die nächsten Zeilen nur zum Testen 
17.
    Wscript.echo "Name.......:" & objItem.Name     
18.
    Wscript.echo "Caption....:" & objItem.Caption 
19.
    Wscript.echo "Description:" & objItem.Description 
20.
 '   Wscript.echo "Domain.....:" & objItem.Domain     ' ist der COMPUTERNAME, wissen wir 
21.
 '   Wscript.echo "InstallDate:" & objItem.InstallDate     ' bei M$ immer leer *gg 
22.
 '   Wscript.echo "SID........:" & objItem.SID   ' wissen wir; steht in der WHERE-Clause 
23.
 '   Wscript.echo "SIDType....." & objItem.SidType   ' sollte immer 4 sein 
24.
 '   Wscript.echo "Status.....:" & objItem.Status   
25.
                     ' "Status" sollte immer "OK" sein, wenn nicht: forget it  
26.
Next 
27.
' ------Die nächsten beiden Zeilen später scharfschalten, brauchen wir nicht zum Testen 
28.
'-----Set objLocalGroup = GetObject("WinNT://" & strComputer & "/" & strAdminGrp) 
29.
'------objLocalGroup.Add(strAdd)
Damit solltest Du den Namen Deiner lokalen Admingruppe in 5 sec haben.

Gruss
Biber
Bitte warten ..
Mitglied: Iwan
19.04.2007 um 08:16 Uhr
klasse, Biber, läuft einwandfrei auf meinen Testsystemen (Win XP und ein virtuelles Win2000)
leider hat gestern morgen eine "Beta"-Version für ca. 15 Minuten etliche PCs lahmgelegt (sie hingen im Startskript fest)
das fanden die Chefs nicht wirklich toll und daher hat man sich gegen eine weitere Skriptnutzung entschieden
nun dürfen die Supporter das in ihrer Location per Hand (remote) machen
naja, andere Firmen, andere Sitten...


PS: das mit dem On Error Resume Next ist deshalb drin, weil eine Meldung kommt, wenn die Gruppe schon in der Admingruppe eingetragen ist
Bitte warten ..
Mitglied: Biber
19.04.2007 um 08:50 Uhr
Moin Iwan,

dann würde ich empfehlen, dass Du noch mal zu Deinen Chefs rennst und denen sagst, dass in der gestrigen Version des Skripts ein Bug war, der inzwischen behoben ist.

Und dieser Bug ist dadurch entstanden, dass Du dummerweise eine Musterlösung von der einzig autorisierten Scriptingseite des sympatischen Weltmarktführers höchstselbst verwendet hast.
Oder für Cheffes besser verständlich, argumentierst Du:
"Nicht alle Scripts=böse, sondern ich, Iwan, habe den Fehler in der Version 1.00 innerhalb von ein paar Stunden lokalisiert, ausgemerzt und die Performance um 8700% gesteigert.
Außerdem werden wir aus diesen Erfahrungen lernen, dass wir vor jedem flächendeckenden produktiven Einsatz einen mindestens dreitägigen Testlauf mit x Rechnern machen. Erst danach werden domänenweite Änderungen eingepflegt. Dieses wäre jedenfalls mein Verbesserungsvorschlag..."


Und zu Deinem P.S.
PS: das mit dem On Error Resume Next ist deshalb drin, weil eine Meldung kommt, wenn die Gruppe schon in der Admingruppe eingetragen ist ..

Das war auch mehr ein Scherz, dass bei mir keine Fehler kommen.
In der PROD-Version würde ich natürlich ein "On Error Resume Next" einbauen.
Aber in der TEST-Version will ich alle Fehler sehen ohne Schnickschnack.

Gruss
Biber
Bitte warten ..
Mitglied: Iwan
19.04.2007 um 11:17 Uhr
den Chefs ist das nun egal und die Supporter sind leider die Dummen dank der Mehrarbeit
es war zum Glück kein flächendeckender Ausfall, sondern lediglich hier vor Ort an ca. 20 PCs
die standen halt mal etwas länger im Startskript-Bildschirm... shit happens :-P
ich hab das Skript ja an diversen PCs hier getestet und es lief einwandfrei, sonst hätten wir es erst gar nicht eingepflanzt
naja, was solls... nun hab ich wieder mal etwas VBS gelernt und nen schönes Skript, falls die Chefs es sich doch noch anders überlegen
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Windows Server
GPO aktiv trotz Deaktivierung (7)

Frage von XxDarkAngelxX zum Thema Windows Server ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Windows Server
gelöst Laufwerkspfad wird nach GPO-Änderung nicht aktualisiert (4)

Frage von YotYot zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...