Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

i'm trying to print all users of a group "Students" to a Textfile "Students.txt".

I'm not in a domain, so this does not work:

net group "Students" >>  students.txt

because i get following:

This command can be used only on a Windows Domain Controller.

Thank you in advance

If anybody is interested in a VB.Net solution, i've programmed a Winform solution with a multiline Textbox to copy/paste the members (anyway, thanks for your help):

  Imports System.DirectoryServices 'first add a refernce to it from .Net Tab'


  Public Function MembersOfGroup(ByVal GroupName As String) As List(Of DirectoryServices.DirectoryEntry)
        Dim members As New List(Of DirectoryServices.DirectoryEntry)
            Using search As New DirectoryServices.DirectoryEntry("WinNT://./" & GroupName & ",group")
                For Each member As Object In DirectCast(search.Invoke("Members"), IEnumerable)
                    Dim memberEntry As New DirectoryEntry(member)
            End Using
        Catch ex As Exception
        End Try
        Return members
    End Function

    Private Sub TxtGroup_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtGroup.KeyDown
        If e.KeyCode = Keys.Enter Then
            Me.TxtGroupMembers.Text = String.Empty
            If Me.TxtGroup.Text.Length <> 0 Then
                Dim members As List(Of DirectoryServices.DirectoryEntry) = MembersOfGroup(Me.TxtGroup.Text)
                For Each member As DirectoryServices.DirectoryEntry In members
                    Me.TxtGroupMembers.Text &= member.Name & vbCrLf
            End If
        End If
    End Sub
share|improve this question
up vote 4 down vote accepted

If you can use PowerShell then this should do the trick (works on local computer, change the $GroupName variable and output file path according to your needs):

$GroupName = "Administrators"
$GroupMembers = @()
$Server = $env:computername
$Group= [ADSI]"WinNT://$Server/$GroupName,group"
$Members = @($Group.psbase.Invoke("Members"))
$Members | ForEach-Object { $GroupMembers += $_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null) }
Write-Output $GroupMembers | out-File "C:\somefolder\somefile.txt"
share|improve this answer
Thank you, thats working. But meanwhile i had programmed it with VB.Net(see my edit). – Tim Schmelter Jan 10 '11 at 14:59

You could try using net localgroup with the /domain parameter:

net localgroup "Students" /domain >> students.txt
share|improve this answer
This is working too if i remove /domain, thank you. Besides Siim K's solution has unlike this no problems with special chars like german ö. – Tim Schmelter Jan 10 '11 at 15:06

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .