Powershell 获取具有其他用户对象属性的所有用户组
我是powershell新手,希望了解如何以以下格式获取属于用户的组以及其他用户对象属性(重复每个组的用户和电子邮件): 我知道这会获得用户组,但不确定如何包括其他用户对象,并以上述格式重复:Powershell 获取具有其他用户对象属性的所有用户组,powershell,Powershell,我是powershell新手,希望了解如何以以下格式获取属于用户的组以及其他用户对象属性(重复每个组的用户和电子邮件): 我知道这会获得用户组,但不确定如何包括其他用户对象,并以上述格式重复: Get-ADPrincipalGroupMembership username | select name 您需要获取ADUser对象,展开它们的memberof属性,迭代这些对象,并获取每个对象的广告组 $username = "PowerShellGuy" $adUserObj
Get-ADPrincipalGroupMembership username | select name
您需要获取ADUser对象,展开它们的memberof属性,迭代这些对象,并获取每个对象的广告组
$username = "PowerShellGuy"
$adUserObj = Get-ADUser -Filter "SamAccountName -eq '$username'" -properties memberof
$groups = $adUserObj.MemberOf | Get-ADgroup
你可以这样画一行
Get-ADUser -Filter "SamAccountName -eq 'PowerShellGuy'" -properties memberof | % memberof | Get-ADgroup
Class CustomAdInfo
{
$UserName
$Email
$Group
}
$listOfUsers = @("foo","bar")
$customObjects =
foreach($user in $listOfUsers)
{
$adUserObj = Get-ADUser -Filter "SamAccountName -eq '$user'" -properties memberof, emailaddress
$groups = $adUserObj.MemberOf | Get-ADgroup
foreach($group in $groups)
{
New-Object -TypeName CustomAdInfo -Property @{
UserName = $adUserObj.SamAccountName
Email = $adUserObj.EmailAddress
Group = $group
}
}
}
如果需要自定义格式,可以构建自定义psobject或自定义类。我更喜欢课堂教学法
Class CustomAdInfo
{
$UserName
$Email
$Group
}
如果你想每人一组,那么你可以这样做
Get-ADUser -Filter "SamAccountName -eq 'PowerShellGuy'" -properties memberof | % memberof | Get-ADgroup
Class CustomAdInfo
{
$UserName
$Email
$Group
}
$listOfUsers = @("foo","bar")
$customObjects =
foreach($user in $listOfUsers)
{
$adUserObj = Get-ADUser -Filter "SamAccountName -eq '$user'" -properties memberof, emailaddress
$groups = $adUserObj.MemberOf | Get-ADgroup
foreach($group in $groups)
{
New-Object -TypeName CustomAdInfo -Property @{
UserName = $adUserObj.SamAccountName
Email = $adUserObj.EmailAddress
Group = $group
}
}
}
您需要获取ADUser对象,展开它们的memberof属性,迭代这些对象,并获取每个对象的广告组
$username = "PowerShellGuy"
$adUserObj = Get-ADUser -Filter "SamAccountName -eq '$username'" -properties memberof
$groups = $adUserObj.MemberOf | Get-ADgroup
你可以这样画一行
Get-ADUser -Filter "SamAccountName -eq 'PowerShellGuy'" -properties memberof | % memberof | Get-ADgroup
Class CustomAdInfo
{
$UserName
$Email
$Group
}
$listOfUsers = @("foo","bar")
$customObjects =
foreach($user in $listOfUsers)
{
$adUserObj = Get-ADUser -Filter "SamAccountName -eq '$user'" -properties memberof, emailaddress
$groups = $adUserObj.MemberOf | Get-ADgroup
foreach($group in $groups)
{
New-Object -TypeName CustomAdInfo -Property @{
UserName = $adUserObj.SamAccountName
Email = $adUserObj.EmailAddress
Group = $group
}
}
}
如果需要自定义格式,可以构建自定义psobject或自定义类。我更喜欢课堂教学法
Class CustomAdInfo
{
$UserName
$Email
$Group
}
如果你想每人一组,那么你可以这样做
Get-ADUser -Filter "SamAccountName -eq 'PowerShellGuy'" -properties memberof | % memberof | Get-ADgroup
Class CustomAdInfo
{
$UserName
$Email
$Group
}
$listOfUsers = @("foo","bar")
$customObjects =
foreach($user in $listOfUsers)
{
$adUserObj = Get-ADUser -Filter "SamAccountName -eq '$user'" -properties memberof, emailaddress
$groups = $adUserObj.MemberOf | Get-ADgroup
foreach($group in $groups)
{
New-Object -TypeName CustomAdInfo -Property @{
UserName = $adUserObj.SamAccountName
Email = $adUserObj.EmailAddress
Group = $group
}
}
}
没有理由把它复杂化。我添加了Get-ADOU调用,以防您想使用组名而不是可分辨名称
$ouname = "Some OU"
$OU = Get-ADOrganizationalUnit -Filter "name -eq '$ouname'"
Get-ADUser -Filter * -SearchBase $OU -Properties mail | Foreach-Object {
Foreach($group in Get-ADPrincipalGroupMembership $_)
{
[PSCustomObject]@{
UserName = $_.samaccountname
User_Email = $_.mail
User_Group = $group.name
}
}
}
没有理由把它复杂化。我添加了Get-ADOU调用,以防您想使用组名而不是可分辨名称
$ouname = "Some OU"
$OU = Get-ADOrganizationalUnit -Filter "name -eq '$ouname'"
Get-ADUser -Filter * -SearchBase $OU -Properties mail | Foreach-Object {
Foreach($group in Get-ADPrincipalGroupMembership $_)
{
[PSCustomObject]@{
UserName = $_.samaccountname
User_Email = $_.mail
User_Group = $group.name
}
}
}
你如何获得你的用户?意思是你在寻找哪些用户?在ou中使用get ADUser并将其保存在数组对象和循环@DougMaurer中,以获取所有用户您是如何获取用户的?你在寻找哪些用户?希望通过在ou中使用get ADUser并将其保存在数组对象中并循环@Dougmaurer来获取所有用户也有办法将其导出到CSV吗?@just4code是的,只需将
$customObjects
导入到导出CSV
$customObjects |导出CSV-非类型信息-使用文化-路径“C:\temp\thingy.csv”感谢您的帮助!还有什么方法可以将其导出到csv吗?@just4code是的,只需将$customObjects
管道导出到$customObjects
像这样导出csv-非类型信息-使用文化-路径“C:\temp\thingy.csv”感谢您的帮助!