Power Shell CSV для AD - PullRequest
       58

Power Shell CSV для AD

0 голосов
/ 23 марта 2020

Может быть, кто-то может помочь? У меня есть скрипт, он берет параметры из scv и помещает их в AD, скрипт работает без ошибок, но у меня нет результатов по каким-то причинам.
Пожалуйста, помогите!

Import-CSV -Path "$home\desktop\Scripts\test4.scv" | ForEach-Object -process {Write-Host $_ }
{Set-ADuser|]= -Identity $_.DisplayName -extensionattribute5 $_.extensionattribute5}

пример scv

enter image description here

Ответы [ 2 ]

0 голосов
/ 23 марта 2020

Согласно документам , параметр -Identity в Set-ADUser должен быть одним из

  • Отличительное имя
  • GUID (objectGUID)
  • Идентификатор безопасности (objectSid)
  • Имя учетной записи SAM (sAMAccountName)

Это означает, что вы не можете использовать свойство DisplayName из CSV для этого параметра.

Попробуйте:

Import-CSV -Path "$home\desktop\Scripts\test4.scv" | ForEach-Object {
    $user = Get-ADUser -Filter "DisplayName -eq '$($_.DisplayName)'" -Properties DisplayName -ErrorAction SilentlyContinue
    if ($user) {
        Write-Host "Setting extensionattribute5 property for user $($_.DisplayName)"
        $user | Set-ADuser -Add @{extensionattribute5=$_.extensionattribute5}
    }
    else {
        Write-Warning "User $($_.DisplayName) could not be found"
    }
}

Вместо -Add @{extensionattribute5=$_.extensionattribute5} вы, скорее всего, захотите -Replace @{extensionattribute5=$_.extensionattribute5}. Это не ясно в вопросе

0 голосов
/ 23 марта 2020

Попробуйте это:

Import-CSV -Path "$home\desktop\Scripts\test4.scv" | ForEach {
  Write-Host $_ 
  Set-ADuser -Identity $_.DisplayName -Add @{extensionattribute5=$_.extensionattribute5}
}

Ваш код был взломан. Готовность была неправильной. Также Расширенные атрибуты добавляются в таблицу ha sh с использованием параметра -Add.

...