Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Загрузка данных в AD (http://forum.oszone.net/showthread.php?t=321957)

Johny_spb 22-12-2016 15:27 2697684

Загрузка данных в AD
 
Добрый день!

С помощью PowerShell пытаюсь загрузить данные в AD из файла, вроде раньше прекрасно работало теперь нет =( помогите найти в чем ошибка?

Файл:

DistinguishedName,Display Name,sAMAccountName,employeeNumber
"CN=40TestTT,OU=40-Users,OU=St-Petersburg,DC=com",Тестовый Тест Тестович,40TestTT,39
"CN=40TestTT01,OU=40-Users,OU=St-Petersburg,DC=com",Тестовый Тест Тестович1,40TestTT01,1234

Скрипт

Import-Module ActiveDirectory

cls

try {$users = Import-Csv C:\temp\user.csv -Delimiter ","}
catch {"Cant load file C:\temp\user.csv"}

try {
foreach ($user in $users) {
$DistinguishedName=$user.DistinguishedName
$DisplayName=$user.DisplayName
$sAMAccountName=$user.sAMAccountName
$employeeNumber=$user.employeeNumber


Get-ADUser -Filter {sAMAccountName -eq $sAMAccountName} -SearchBase "OU=St-Petersburg,DC=com" -Properties DistinguishedName,DisplayName,sAMAccountName,employeeNumber

$tuser = Get-ADUser -Filter {sAMAccountName -eq $sAMAccountName} -SearchBase "OU=St-Petersburg,DC=com"
if ($tuser -notlike $null){
$SAN = $tuser.SamAccountName

if ($employeeNumber -notlike ''){
Set-ADUser $SAN -replace @{employeeNumber=$employeeNumber}
}

}
Write-Host "User $sAMAccountName Changed!!!"
Write-Host ""
Write-Host ""
Get-ADUser $SAN -Properties DistinguishedName,DisplayName,sAMAccountName,employeeNumber
}
}
catch {"Error found"}

Kazun 22-12-2016 15:42 2697690

Код:

Import-Csv C:\temp\user.csv | Foreach {
        $id = $_.employeeNumber
        Get-ADUser -Filter "SamAccountName -eq '$($_.sAMAccountName)' -and -not (EmployeeNumber -eq '$id')" | Set-ADuser -EmployeeNumber $id
}

if ($employeeNumber -notlike ''){ - строчка кода содержит ошибки:
1 - нет закрывающей "
2 - нет условия для сравнения

Johny_spb 22-12-2016 16:14 2697703

В этой строчке не двойная кавычка, а две одинарных. При копировании почему то пропал пробел
if ($employeeNumber -notlike ' ')

Iska 22-12-2016 19:20 2697734

Johny_spb, могу только ещё раз повторить: используйте тэг [code].

P.S. Отмечать данное сообщение «Полезным» необязательно. Просто начните использовать тэг [code].


Время: 23:59.

Время: 23:59.
© OSzone.net 2001-