读取OU中的所有用户并将其导出到.txt

时间:2017-05-15 15:34:14

标签: powershell

我正在尝试导出OU中的所有用户都计算它们。 现在我创建2个不同的OU“仅邮箱”和“用户”并得到一个结果。

只有我看不出它出口的OU。 导出到.txt不起作用

Import-Module ActiveDirectory

Get-ADUser -searchscope OneLevel -Searchbase “OU=Users,OU=0001_Keezer,OU=JdsHosting,DC=jdsontzorgt,DC=local” -Filter * -ResultSetSize 5000 | Select Name
(Get-ADUser -searchscope OneLevel -Searchbase “OU=Users,OU=0001_Keezer,OU=JdsHosting,DC=jdsontzorgt,DC=local” -Filter * -ResultSetSize 5000 | Select Name).count


Get-ADUser -searchscope OneLevel -Searchbase “OU=MailboxOnly,OU=Users,OU=0001_Keezer,OU=JdsHosting,DC=jdsontzorgt,DC=local” -Filter * -ResultSetSize 5000 | Select Name
(Get-ADUser -searchscope OneLevel -Searchbase “OU=MailboxOnly,OU=Users,OU=0001_Keezer,OU=JdsHosting,DC=jdsontzorgt,DC=local” -Filter * -ResultSetSize 5000 | Select Name).count

2 个答案:

答案 0 :(得分:0)

当您多次重复类似的事情时,最好为此创建一个函数。然后,您只需使用OU名称和文件名调用您的函数。

函数将获取所有用户并将它们存储到临时变量中。文件中的第一行将是此类用户的数量。然后它将列出所有用户名。

function Export-UsersToTxt ([string]$OU,[string]$FileName) {
    $Users = Get-ADUser -SearchScope OneLevel -Searchbase $OU -Filter * -ResultSetSize 5000 
    $Users.Count | Out-File $FileName 
    $Users.Name | Out-File $FileName -Append
}

Export-UsersToTxt 'OU=Users,OU=0001_Keezer,OU=JdsHosting,DC=jdsontzorgt,DC=local' 'Users.txt'
Export-UsersToTxt 'OU=MailboxOnly,OU=Users,OU=0001_Keezer,OU=JdsHosting,DC=jdsontzorgt,DC=local' 'MailboxOnly.txt'

答案 1 :(得分:0)

这是我所需要的100%。 抱歉没有足够的信息,但我在powershell中很新,并且为了这个而上课。

但感谢您的解释,我明白您的所作所为并将尝试做到这一点是未来。