Проверьте ADusers для свойства export-csv и включите null - PullRequest
0 голосов
/ 11 марта 2019

У меня есть список мобильных номеров, с которыми я хочу сопоставить пользователей объявлений, а затем экспортировать их в формате csv.

Текущий скрипт работает до сих пор, но я хочу, чтобы он включал строку, когда он не находит пользователя, который говорит номер мобильного телефона, с которым он не соответствует.

$ou="OU=User Accounts,OU=Users,OU=Company,DC=dc01,DC=local"

get-content chk_usr_mobile.csv | 
ForEach {
$aduser=get-aduser -SearchBase $ou -filter{(mobile -eq $_)} -Properties *|
select -Property company,emailaddress,@{L='departmentnumber'; E={$_.departmentnumber[0]}}, mobile,givenname,sn
if ($aduser -eq $null){
$aduser=$_
}
else{
$aduser}
} | export-csv .\tel_result.csv -encoding UTF8 -notypeinformation 

Итак, вывод, который я хочу, должен быть таким в csv:

"company","emailaddress","departmentnumber","mobile","givenname","sn"
"Company","user1g@company.com","123","123456789","Joe","Doe"
"no user found for number 98765431"
"Company","user2g@company.com","124","456789123","Jane","Doe"

1 Ответ

1 голос
/ 11 марта 2019

Судя по вашему коду, входной CSV-файл вообще не является CSV-файлом, а представляет собой текстовый файл с телефонными номерами в отдельной строке.

Чтобы не нарушать выход CSV, предлагаю вам сделать следующее:

$ou="OU=User Accounts,OU=Users,OU=Company,DC=dc01,DC=local"
Get-Content chk_usr_mobile.csv | ForEach-Object {
    $aduser = Get-ADUser -SearchBase $ou -Filter { mobile -eq $_ } -Properties Company,EmailAddress,departmentnumber,Mobile,GivenName,Surname
    if ($aduser) {
        $aduser | Select-Object Company,EmailAddress,@{L='DepartmentNumber'; E={$_.departmentnumber[0]}},Mobile,GivenName,Surname
    }
    else {
        [PSCustomObject]@{
            Company = 'no user found for number {0}' -f $_
            EmailAddress = ''
            DepartmentNumber = ''
            Mobile = ''
            GivenName = ''
            Surname = ''
        }
    }
} | Export-Csv .\tel_result.csv -Encoding UTF8 -NoTypeInformation -Force
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...