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, 1267 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 10
Kein Internet: Nach Windows-Update weltweit Computer offline (7)

Link von transocean zum Thema Windows 10 ...

Erkennung und -Abwehr
Google Mail: Whitelisting bekannter Email-Addressen einer Domain (2)

Frage von MephMan zum Thema Erkennung und -Abwehr ...

Batch & Shell
gelöst PowerShell Domain Join (2)

Frage von Patrick-IT zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...