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

Domain Computer-SIDs ausgeben

Frage Netzwerke Netzwerkmanagement

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

29.01.2014, aktualisiert 11:13 Uhr, 1294 Aufrufe, 4 Kommentare, 3 Danke

Hallo,
wie kann ich auf die Schnelle die SID`s aller in der Domain enthaltenen Maschinen ausgeben?
Am liebsten wäre mir ein vbs-Script...

Danke im Voraus, ich frag nur schnell, weil ich etwas unter Zeitdruck bin...

Torsten
Mitglied: colinardo
LÖSUNG 29.01.2014, aktualisiert um 11:13 Uhr
Hallo Thorsten,
VBS
01.
On Error Resume Next 
02.
Set fso = WScript.CreateObject("Scripting.Filesystemobject") 
03.
Set objShell = CreateObject("Wscript.Shell") 
04.
 
05.
Set objRootDSE = GetObject("LDAP://RootDSE") 
06.
strDNSDomain = objRootDSE.Get("defaultNamingContext") 
07.
strTarget = "LDAP://" & strDNSDomain 
08.
 
09.
' Connect to Ad Provider 
10.
Set objConnection = CreateObject("ADODB.Connection") 
11.
objConnection.Provider = "ADsDSOObject" 
12.
objConnection.Open "Active Directory Provider" 
13.
Set objCmd =   CreateObject("ADODB.Command") 
14.
Set objCmd.ActiveConnection = objConnection  
15.
 
16.
objCmd.CommandText = "SELECT Name,objectSID FROM '" & strTarget & "' WHERE objectCategory = 'computer'" 
17.
 
18.
Const ADS_SCOPE_SUBTREE = 2 
19.
objCmd.Properties("Page Size") = 100 
20.
objCmd.Properties("Timeout") = 30 
21.
objCmd.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
22.
objCmd.Properties("Cache Results") = False 
23.
 
24.
Set objRecordSet = objCmd.Execute 
25.
allComputerSIDs = "" 
26.
objRecordSet.MoveFirst 
27.
Do Until objRecordSet.EOF 
28.
   sSID = objRecordSet.Fields("objectSID") 
29.
   sName = objRecordSet.Fields("Name") 
30.
   strHexSID = OctetToHexStr(sSID) 
31.
   strDecSID = HexSIDToDec(strHexSID) 
32.
   allComputers = allComputers & sName & ":" & strDecSID & vbCrLf 
33.
   objRecordSet.MoveNext 
34.
Loop 
35.
fso.OpenTextFile("computer_sids.txt",2,true).Write(allComputers) 
36.
objShell.Run "notepad.exe computer_sids.txt" 
37.
 
38.
 
39.
Function OctetToHexStr(ByVal arrbytOctet) 
40.
    ' Function to convert OctetString (Byte Array) to a hex string. 
41.
    Dim k 
42.
    OctetToHexStr = "" 
43.
    For k = 1 To Lenb(arrbytOctet) 
44.
        OctetToHexStr = OctetToHexStr _ 
45.
            & Right("0" & Hex(Ascb(Midb(arrbytOctet, k, 1))), 2) 
46.
    Next 
47.
End Function 
48.
 
49.
Function HexSIDToDec(ByVal strSID) 
50.
    ' Function to convert most hex SID values to decimal format. 
51.
    Dim arrbytSID, lngTemp, j 
52.
    ReDim arrbytSID(Len(strSID)/2 - 1) 
53.
    For j = 0 To UBound(arrbytSID) 
54.
        arrbytSID(j) = CInt("&H" & Mid(strSID, 2*j + 1, 2)) 
55.
    Next 
56.
    If (UBound(arrbytSID) = 11) Then 
57.
        HexSIDToDec = "S-" & arrbytSID(0) & "-" _ 
58.
            & arrbytSID(1) & "-" & arrbytSID(8) 
59.
 
60.
        Exit Function 
61.
    End If 
62.
    If (UBound(arrbytSID) = 15) Then 
63.
        HexSIDToDec = "S-" & arrbytSID(0) & "-" _ 
64.
            & arrbytSID(1) & "-" & arrbytSID(8) 
65.
 
66.
        lngTemp = arrbytSID(15) 
67.
        lngTemp = lngTemp * 256 + arrbytSID(14) 
68.
        lngTemp = lngTemp * 256 + arrbytSID(13) 
69.
        lngTemp = lngTemp * 256 + arrbytSID(12) 
70.
        HexSIDToDec = HexSIDToDec & "-" & CStr(lngTemp) 
71.
        Exit Function 
72.
    End If 
73.
    HexSIDToDec = "S-" & arrbytSID(0) & "-" _ 
74.
        & arrbytSID(1) & "-" & arrbytSID(8) 
75.
    lngTemp = arrbytSID(15) 
76.
    lngTemp = lngTemp * 256 + arrbytSID(14) 
77.
    lngTemp = lngTemp * 256 + arrbytSID(13) 
78.
    lngTemp = lngTemp * 256 + arrbytSID(12) 
79.
    HexSIDToDec = HexSIDToDec & "-" & CStr(lngTemp) 
80.
    lngTemp = arrbytSID(19) 
81.
    lngTemp = lngTemp * 256 + arrbytSID(18) 
82.
    lngTemp = lngTemp * 256 + arrbytSID(17) 
83.
    lngTemp = lngTemp * 256 + arrbytSID(16) 
84.
    HexSIDToDec = HexSIDToDec & "-" & CStr(lngTemp) 
85.
    lngTemp = arrbytSID(23) 
86.
    lngTemp = lngTemp * 256 + arrbytSID(22) 
87.
    lngTemp = lngTemp * 256 + arrbytSID(21) 
88.
    lngTemp = lngTemp * 256 + arrbytSID(20) 
89.
    HexSIDToDec = HexSIDToDec & "-" & CStr(lngTemp) 
90.
    If (UBound(arrbytSID) > 23) Then 
91.
        lngTemp = arrbytSID(25) 
92.
        lngTemp = lngTemp * 256 + arrbytSID(24) 
93.
 
94.
        HexSIDToDec = HexSIDToDec & "-" & CStr(lngTemp) 
95.
    End If 
96.
End Function
Powershell:
01.
Import-Module ActiveDirectory 
02.
Get-ADComputer -Filter * | select Name,SID | out-file "c:\computer_sids.txt"
Grüße Uwe
Bitte warten ..
Mitglied: tobdad
LÖSUNG 29.01.2014, aktualisiert um 11:13 Uhr
Ich hätte eine kurze dsquery Abfrage für dich:

dsquery computer "OU=bla,DC=test,DC=lan" | dsget computer -sid > C:\temp\sidausgabe.txt
Bitte warten ..
Mitglied: psannz
LÖSUNG 29.01.2014, aktualisiert um 11:13 Uhr
Sers,

Powershell!

01.
Import-Module ActiveDirectory 
02.
Get-ADComputer -Filter * | ft Name, SID
Der Modulimport ist nur für 2008r2 und ältere Systeme nötig.

Grüße,
Philip
Bitte warten ..
Mitglied: goodbytes
29.01.2014 um 11:13 Uhr
Super, es funktioniert so mit der PowerShell und auch bestens mittels vbs.

Vielen Dank für eure schnelle Hilfe !!!

Torsten
Bitte warten ..
Ähnliche Inhalte
Netzwerkgrundlagen
Routing - Externe Domain (7)

Frage von Waishon zum Thema Netzwerkgrundlagen ...

Windows Server
Domain Controller fehlt Windows Server 2016 (16)

Frage von Pookywo zum Thema Windows Server ...

Windows Server
gelöst LDAP Daten anderer Domain abrufen (3)

Frage von it4baer zum Thema Windows Server ...

Microsoft
Using Computer Name Aliases in place of DNS CNAME Records

Link von Dani zum Thema Microsoft ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

iOS
16 iPads zentrall verwalten (14)

Frage von simonlohr zum Thema iOS ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...