Export-Csv Невозможно привязать аргумент к параметру 'InputObject', поскольку он имеет значение null - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь получить информацию о членах группы AD через power shell. Но я получаю сообщения как

Export-Csv: невозможно связать аргумент с параметром 'InputObject', поскольку он имеет значение null.

Import-Module ActiveDirectory

$Path = Get-Location

$GroupName = Read-Host "Type the Group Name to check the members in it`t "

foreach ($group in $GroupName) {
    $users = @{}

    Get-ADUser -Filter '*' -Property Name, DisplayName | ForEach-Object {
        $users[$_.DistinguishedName] = $_
    }

    $MemberCount = (Get-ADGroup $group -Properties Member | Select-Object -Expand Member).Count

    Write-Host "`t Total Number of Users/Groups added on this Group : $MemberCount" -BackgroundColor DarkCyan

    $Info = Get-ADGroup $group -Properties Member |
            Select-Object -Expand Member |
            ForEach-Object { $users[$_] }

    $Info | Export-Csv -NoTypeInformation -Append -Force $Path\new.csv

1 Ответ

0 голосов
/ 19 сентября 2018

Ошибка означает, что $Info содержит пустые / нулевые значения.Наиболее вероятная причина их присутствия заключается в том, что в группе есть члены, которые не возвращаются Get-ADUser.

Вы можете избежать этой проблемы, проверив наличие ключа в хеш-таблице $users:

$Info = Get-ADGroup $group -Properties Member |
        Select-Object -Expand Member |
        ForEach-Object { if ($users.ContainsKey($_) {$users[$_]} }

Если вы хотите продолжить расследование пропавших отличительных имен, вы можете собрать их следующим образом:

$missing = Get-ADGroup $group -Properties Member |
           Select-Object -Expand Member |
           ForEach-Object { if (-not $users.ContainsKey($_) {$_} }
...