Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Add-PSSnapin Quest.ActiveRoles.ADManagement
- $csvPath = ".\usernumbers.csv"
- $content = Get-Content $csvPath
- foreach ($str in $content)
- {
- $strArr = $str -split ";"
- $enFIO = $strArr[3]
- $pn = $strArr[7]
- $enFIOArr = $enFIO -split " "
- $enSN = $enFIOArr[0] + " " + $enFIOArr[1]
- if (($adUser = Get-QADUser -IncludedProperties extensionAttribute15 $enSN) -ne $null)
- { # Поиск по "имя-фамилия" удачен
- if ($adUser.Count -eq $null)
- { # Найден один эллемент
- if ($pn -eq $adUser.extensionAttribute15)
- {
- $msg = "У пользователя " + $adUser.Name + " табельный номер актуальный."
- echo $msg
- }
- else
- {
- $msg = "Внимание! У пользователя " + $adUser.Name + " табельный номер неактуальный." + $adUser.extensionAttribute15 + ". (в таблице номер - " + $pn + ")."
- try
- {
- Set-QADUser $adUser -objectAttributes @{extensionAttribute15=$pn}
- $msg = $msg + " Исправлено."
- }
- catch
- {
- $msg = $msg + " Ошибка! Невозможно исправить!"
- }
- echo $msg
- }
- }
- else
- {
- $errorMsg = "Найдено несколько пользователей ("
- foreach ($usr in $adUser)
- {
- $errorMsg = $errorMsg + $usr.Name + ";"
- }
- $errorMsg = $errorMsg + ")."
- Write-Error $errorMsg
- echo $errorMsg
- continue
- }
- }
- else
- { # Поиск по "имя-фамилия" неудачен
- $sam = $enFIOArr[1][0] + $enFIOArr[0]
- if (($adUser = Get-QADUser -IncludedProperties extensionAttribute15 $sam) -ne $null)
- { # Поиск по "фамилия" удачен
- if ($adUser.Count -eq $null)
- { # Найден один эллемент
- if ($pn -eq $adUser.extensionAttribute15)
- {
- $msg = "У пользователя " + $adUser.Name + " табельный номер актуальный."
- echo $msg
- }
- else
- {
- $msg = "Внимание! У пользователя " + $adUser.Name + " табельный номер неактуальный."
- try
- {
- Set-QADUser $adUser -objectAttributes @{extensionAttribute15=$pn}
- $msg = $msg + " Исправлено."
- }
- catch
- {
- $msg = $msg + " Ошибка! Невозможно исправить!"
- }
- echo $msg
- }
- }
- else
- {
- $errorMsg = "Найдено несколько пользователей ("
- foreach ($usr in $adUser)
- {
- $errorMsg = $errorMsg + $usr.Name + ";"
- }
- $errorMsg = $errorMsg + ")."
- Write-Error $errorMsg
- echo $errorMsg
- continue
- }
- }
- else
- { # Поиск по "фамилия" неудачен
- $errorMsg = "Пользователь " + $enSN + " в AD не найден."
- Write-Error $errorMsg
- echo $errorMsg
- continue
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement