Как распечатать всех пользователей от группы окон к текстовому файлу?

я пытаюсь распечатать всех пользователей группы "Студенты" к Текстовому файлу "Students.txt".

Я не нахожусь в домене, таким образом, это не работает:

net group "Students" >>  students.txt

потому что я получаю следующее:

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

Заранее спасибо

Если кто-либо интересуется решением VB.Net, я запрограммировал решение Winform с многострочным Текстовым полем скопировать/вставить участникам (так или иначе, спасибо за Вашу справку):

  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)
        Try
            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)
                    members.Add(memberEntry)
                Next
            End Using
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        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
                Next
            End If
        End If
    End Sub
4
задан 11.03.2013, 01:09

2 ответа

Если можно использовать PowerShell затем, это должно добиться цели (работы над локальным компьютером, измениться $GroupName переменный и выходной файл соединяет каналом согласно Вашим потребностям):

$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"
4
ответ дан 07.12.2019, 20:09

Вы могли попытаться использовать net localgroup с /domain параметр:

net localgroup "Students" /domain >> students.txt
2
ответ дан 07.12.2019, 20:09

Теги

Похожие вопросы