我正在尝试编写一个允许我执行以下操作的Powershell脚本:
以下是我的尝试(认为它会起作用):
Get-ADGroupMember'组名'| Get-ADUser -Properties givenName,sn |选择givenName,sn | Get-ADComputer -filter'描述 - 像“$ sn,$ givenName ”' - 属性描述|选择姓名*
大胆的文字有效,我知道斜体文字不起作用,但这就是我认为它会起作用的格式
如果我发了任何东西,请告诉我,绝对是Powershell新手
TLDR:尝试根据特定AD群组的搜索获取用户名和他们的计算机名称
答案 0 :(得分:1)
在管道中的那一点,您不再直接使用Get-ADUser
的输出对象作为Get-ADComputer
的输入对象。 ForEach-Object
cmdlet所在的位置。它需要一个脚本块,允许您为管道中的每个项目定义行为:
Get-ADGroupMember 'Group Name' |
Get-ADUser -Properties givenName, sn |
ForEach-Object -Process {
$sn = $_.sn
$givenName = $_.givenName
Get-ADComputer -Filter 'description -like "$sn,$givenName"' -property description
} | select Name*