Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy does DirectoryEntry("WinNT://") not show group everyone?
    primarykey
    data
    text
    <p>The below function (is supposed to) lists all groups on the local machine.<br /> Now the question: Why does the "everyone" group not show up ?<br /> If I change directory permissions as user, I see the "everyone" group, so it must be there, somewhere.</p> <pre><code> Public Shared Function GetAllGroups() As DataTable Return GetAllGroups(System.Environment.MachineName) End Function ' Tools.Permissions.Local.GetAllGroups() ' Public Shared Function GetAllGroups(ByVal strDomain As String) As DataTable Dim dt As New DataTable Dim dr As DataRow = Nothing Try Dim bException As Boolean = False Dim deLocalMachine As System.DirectoryServices.DirectoryEntry = New System.DirectoryServices.DirectoryEntry("WinNT://" + strDomain) 'Dim deRootObject As System.DirectoryServices.DirectoryEntry = GetDirectoryEntry(strPath, strUserName, strPassword, bException) ' If bException Then Return Nothing End If For Each child As System.DirectoryServices.DirectoryEntry In deLocalMachine.Children Try If StringComparer.OrdinalIgnoreCase.Equals(child.SchemaClassName, "group") Then If Not dt.Columns.Contains("Members") Then dt.Columns.Add("Members", GetType(System.String)) End If For Each strPropertyName As String In child.Properties.PropertyNames If Not dt.Columns.Contains(strPropertyName) Then dt.Columns.Add(strPropertyName, GetType(System.String)) End If Next strPropertyName dr = dt.NewRow Dim strMembers As String = "" For Each member As Object In DirectCast(child.Invoke("Members"), IEnumerable) Using memberEntry As New System.DirectoryServices.DirectoryEntry(member) Try strMembers += memberEntry.Properties("Name").Value.ToString() + Environment.NewLine Console.WriteLine(memberEntry.Path) Catch exFixMeIsNotNullNotWorking As Exception End Try End Using Next dr("Members") = strMembers For Each strPropertyName As String In child.Properties.PropertyNames If StringComparer.OrdinalIgnoreCase.Equals(strPropertyName, "objectSid") Then Dim strSID As String = "" Try Dim sidThisSid As New System.Security.Principal.SecurityIdentifier(child.Properties(strPropertyName).Value, 0) strSID = sidThisSid.ToString() ' http://stackoverflow.com/questions/1040623/convert-a-username-to-a-sid-string-in-c-net ' ' NTAccount ntAccount = (NTAccount)sid.Translate( typeof( NTAccount ) ); ' ' Dim ntAccount As Security.Principal.NTAccount = CType(sidThisSid.Translate(GetType(Security.Principal.NTAccount)), Security.Principal.NTAccount) ' Catch ex As Exception End Try dr(strPropertyName) = strSID Else dr(strPropertyName) = child.Properties(strPropertyName).Value.ToString() End If Next strPropertyName dt.Rows.Add(dr) End If Catch ex As Exception ' Don't finish just because one fails Console.WriteLine(ex.Message.ToString &amp; vbLf &amp; vbLf &amp; ex.StackTrace.ToString, MsgBoxStyle.Critical, "FEHLER ...") End Try Next Catch ex As Exception Console.WriteLine(ex.Message.ToString &amp; vbLf &amp; vbLf &amp; ex.StackTrace.ToString, MsgBoxStyle.Critical, "FEHLER ...") End Try Return dt End Function ' ListEverything </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload