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

Domänen-PCs nach lokalen Admins durchsuchen

Frage Netzwerke Netzwerkmanagement

Mitglied: commanderts

commanderts (Level 1) - Jetzt verbinden

30.05.2008, aktualisiert 31.05.2008, 4436 Aufrufe, 12 Kommentare

Hallo zusammen!!!

Ich habe in meiner Firma mehrere Domänen, in denen einige User auf ihren PCs lokale Administratoren sind. Diese PCs würde ich gerne in einem Duchlauf/Domäne nach den eingetragenen lokalen Admins "scannen", um eine Übersicht zu bekommen und den Usern mit falscher Berechtigung diese zu nehmen.
Kennt Ihr da eine Möglichkeit?

Gruß, Tobias!
Mitglied: gemini
30.05.2008 um 11:01 Uhr
Hallo Tobias,

ein Schnipsel aus dem Microsoft Fundus, den du ggfs. an deine Bedürfnisse anpassen kannst.

List Members of a Local Group
01.
Set objNetwork = CreateObject("WScript.Network") 
02.
strComputer = objNetwork.ComputerName 
03.
strGroup = "Administrators" 
04.
WScript.Echo "Computer: " & strComputer 
05.
Set objGroup = GetObject("WinNT://" & strComputer & "/" & strGroup & ",group") 
06.
WScript.Echo "  Administrators group members:" 
07.
For Each objMember In objGroup.Members 
08.
  WScript.Echo "    " & objMember.Name 
09.
Next
Grüße,
gemini
Bitte warten ..
Mitglied: commanderts
30.05.2008 um 11:12 Uhr
Danke für die schnelle Antwort!
Das ist auf jeden Fall schon mal ein sehr interessanter Ansatz...
Ausgegeben wird es aber so leider nur für den PC, auf dem das Script ausgeführt wird. Aber vielleicht kann man da noch was basteln, hab nur leider nicht sooo viel Ahnung von Visual Basic. Werd mal etwas experimentieren!
Vielleicht kennt noch jemand ein tool, das diese Aufgabe direkt bewältigt?
Bitte warten ..
Mitglied: darkuser
30.05.2008 um 11:22 Uhr
Hi Tobias,

um das automatisiert auslesen zu können (erst einmal rein theoretisch) müsste auf jedem der Rechner das gleiche OS installiert sein, da sonst die Pfade nicht mehr unbedingt stimmen müssten.

Beispiel:
98 und Vista

Welches OS hast du denn, dann kann man auch eine Lösung erarbeiten.

Gruß darkuser

edit:
ansonsten schau mal hier, ob das so funktioniert
http://www.administrator.info/index.php?content=b79442b363018b190169236 ...
Bitte warten ..
Mitglied: Dani
30.05.2008 um 11:25 Uhr
Hi Tobi,
ich würde eine versteckte Freigabe erstellen und dem User "Jeder" VOllzugriff geben. Nun zum Script:
01.
@echo off & setlocal 
02.
 
03.
if not exist "\\server\freigabe$"\%computername%" net localgroup administratoren >> "\\server\freigabe\%computername%.txt"
Diese Zeile würde ich in ein vorhandenes Loginscript (User- / Computerskript für 1-2 Wochen einbinden und gut ist.

@Biber
Hab ich doch auch mal ein Onliner geschrieben. :-P


Gruss,
Dani
Bitte warten ..
Mitglied: gemini
30.05.2008 um 11:26 Uhr
Ich nehme an, das Inventarisierungen oder Managementsoftware das auslesen kann.

hab nur leider nicht sooo viel Ahnung von Visual Basic
Das ist ja auch VBScript Eine gute Gelegenheit sich mal mit der Materie zu beschäftigen.

Zum Basteln hab ich leider momentan keine Zeit aber eine Skizze gebe ich dir gerne.
Das Script könnte als Logonscript ausgeführt werden. Die Ausgabe als Textdatei (benannt nach dem Computernamen) in einer Freigabe auf einem Server abgelegt werden.
Möglich wäre auch, den Client per Richtlinie einen entspr. Registrierungsschlüssel unter RunOnce mitzugeben. Damit würde es je Client nur einmal ausgeführt werden.

Grüße,
gemini
Bitte warten ..
Mitglied: commanderts
30.05.2008 um 11:42 Uhr
@gemini: Da hast Du recht, es wird Zeit, sich mit dem Kram mal auseinander zu setzen ;)

@darkuser: Wir haben fast ausschließlich XP im Einsatz. Ca. 30 PCs mit 2000 und ungefähr 2 mit NT. In den weltweiten Niederlassungen sind allerdings nur XP Rechner, da wär mir das erstmal am wichtigsten...

@Dani: Werde ich auch mal testen, danke!
Bitte warten ..
Mitglied: darkuser
30.05.2008 um 12:40 Uhr
@tobias

Ich weiß zwar nicht, ob du auch so etwas gesucht hast, aber das hat laut dem entsprechendem Thread auch in einem AD funktioniert.

http://www.administrator.de/Gruppenzugeh%C3%B6rigkeit_der_USer_auslesen ...

VG darkuser
Bitte warten ..
Mitglied: Iwan
30.05.2008 um 14:09 Uhr
@darkuser
Jose liest nur die Daten aus dem AD aus, aber nicht vom lokalen Computer

@tobias
01.
On Error Resume Next 
02.
Set FSObj = CreateObject("Scripting.FileSystemObject") 
03.
strPath = FSObj.GetAbsolutePathName("I:\Admins") 
04.
strCompListe = strPath & "\Computer.txt" 
05.
Set objCompFile = FSObj.OpenTextFile(strCompListe, 1) 
06.
Const wbemFlagReturnImmediately = &H10 
07.
Const wbemFlagForwardOnly = &H20 
08.
Do While Not objCompFile.AtEndOfStream 
09.
    arrComputers = Array(CompName) 
10.
    strComputer = objCompFile.ReadLine 
11.
    Set textfile = FSObj.CreateTextFile(strPath & "\" & strComputer & ".txt") 
12.
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
13.
    Set colAccounts = objWMIService.ExecQuery("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.
    Next 
17.
    Set objGroup = GetObject("WinNT://" & strComputer & "/" & strAdminGrp & ",group") 
18.
        textfile.writeline "========================" 
19.
        textfile.writeline "Request...: " & strComputer 
20.
        textfile.writeline "Stand.....: " & Date 
21.
        textfile.writeline "========================" 
22.
 
23.
    For Each objMember In objGroup.Members 
24.
        textfile.writeline objMember.Name 
25.
    Next 
26.
        textfile.Close 
27.
        Set strAdminGrp = Nothing 
28.
        Set strComputer = Nothing 
29.
Loop 
30.
objCompFile.Close 
31.
Wscript.Echo "Fertig!"
das Skript funktioniert übers Netzwerk von deinem PC aus
Voraussetzung sollte sein, das du Adminrechte auf den PC hast
ändere in der 4. Zeile den Ordner ab -> I:\Admins
erstell in deinem Ordner eine 'Computer.txt', wo du die Hostnamen der Rechner untereinander einträgst, die du abfragen willst
funktioniert bei mir auf englischen und deutschen XP-Versionen, mit SP1 und SP2, sowie mit Win2K SP4 (deutsch)
das Ergebnis ist eine TXT-Datei mit dem Computernamen, darin enthalten alle Accounts, die in der lokalen Admin-Gruppe eingetragen sind
Bitte warten ..
Mitglied: Iwan
30.05.2008 um 14:44 Uhr
da fehlt aber leider ein .txt und ein $, Dani
01.
if not exist "\\server\freigabe$"\%computername%.txt" net localgroup administratoren >> "\\server\freigabe$\%computername%.txt"
Bitte warten ..
Mitglied: Biber
30.05.2008 um 16:53 Uhr
@Dani (mit Verweis auf Iwan)
Hab ich doch auch mal ein Onliner geschrieben. :-P
Der Zweizeiler ist zwar gewissermaßen online, aber ich glaube.... *rumdrucks*
...
*räusper*
...
Okay, prima...

Phase 2: Nächste Woche üben wir funktionierende Oneliner...

Schönes Wochenende
Biber
Bitte warten ..
Mitglied: Dani
30.05.2008 um 17:05 Uhr
@Biber
*ups* Mal wieder nicht bei der Sache gewesen.

Dir kann ich das Wassser natürlich nicht reichen, aber ich geb mir Mühe. Ich guck eben lieber dir zu....
Ich bin dabei...

Thx & dir und deinen Bekannten auch
Dani
Bitte warten ..
Mitglied: bastla
31.05.2008 um 12:01 Uhr
@Dani's 1-Liner

Falls es auch ein paar Zeilen mehr sein dürften, ließe sich das Ganze (bei ansonsten gleicher Vorgangsweise) auch noch etwas übersichtlicher als .csv-Datei ausgeben:
01.
@echo off & setlocal 
02.
set "Ziel=\\Server\Freigabe$" 
03.
set "Comp=%Ziel%\ComputerErledigt.txt" 
04.
set "Adm=%Ziel%\AdminKonten.csv" 
05.
 
06.
::Aktueller Computer bereits erfasst? 
07.
if exist "%Comp%" findstr /i "%ComputerName%" "%Comp%">nul && goto :eof 
08.
 
09.
::Zeilennummer, ab welcher die Konten ausgegeben werden (= nach Trennzeile "---------------", bei XP Pro zB Zeile 6), ermitteln 
10.
set Nr= 
11.
for /f "delims=:" %%i in ('net localgroup administratoren^|findstr /b /n /c:"-------"') do if not defined Nr set Nr=%%i 
12.
::Falls die Zeile nicht gefunden wurde, Batch beenden 
13.
if not defined Nr goto :eof 
14.
 
15.
::Ausgabe der gesuchten Daten 
16.
for /f "delims=" %%a in ('net localgroup administratoren^|more +%Nr%^|findstr /v /c:"Der Befehl wurde "') do echo %ComputerName%;%%a >>"%Adm%" 
17.
::Eintragen des Computers als "erledigt" 
18.
echo %ComputerName% >>"%Comp%"
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Windows Server
gelöst Powershell: Skript zum rekursiven Hinzufügen von lokalen Admins (10)

Frage von bensonhedges zum Thema Windows Server ...

Windows Userverwaltung
AD Gruppe der Domänen-Admins überwachen (5)

Frage von ThorstenRay zum Thema Windows Userverwaltung ...

Windows Userverwaltung
gelöst Lokalen Administrator über das Netzwerk verteilen (7)

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

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 ...