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

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

mcintosh55 23-02-2020 18:39 2910559

скрипт создание контактов в AD из csv файла
 
Добрый день, подскажет скрипт создает только один контакт, а потом пытается опять же его создать, а не следующий в строке. Может че Я не правильно делаю

Код:

Import-Csv "C:\ad2.csv" | ForEach-Object { `
New-ADObject -type contact -path 'OU=contacts,OU=test,DC=test,DC=local' -Name $displayName -otherAttributes @{ `
    'displayName'=$displayName;
    'sn'=$sn;
    'Name'=$Name;
    'initials'=$initials;
    'givenName'=$givenName;
    'TelephoneNumber'=$TelephoneNumber;
    'ipPhone'=$ipPhone;
    'mobile'=$mobile;
    'department'=$department;
    'physicalDeliveryOfficeName'=$physicalDeliveryOfficeName;
    'company'=$company;
    'postalCode'=$postalCode;
    'l'=$l;`
    'description'=$description;`
    'mail'=$mail;`
    'c'=$c;`
    'co'=$co;`
    'st'=$st;`
    'streetAddress'=$streetAddress;`
    'title'=$title
    }
    }


Iska 23-02-2020 22:10 2910580

mcintosh55, это вообще не должно создавать никаких контактов (если только раньше Вы где-то не присваивали переменным $displayName, $sn & etc значения — в таком случае у Вас будет N попыток создать контакт с одним и тем же путём, именем и т.д.).

Внутри ForEach-Object Вы должны работать с текущим объектом $_, наподобие:
Код:

… | ForEach-Object -Process {
        New-ADObject -type contact -path 'OU=contacts,OU=test,DC=test,DC=local' -Name $_.displayName -otherAttributes @{ `
                'displayName' = $_.displayName;
                'sn' = $_.sn;
                'Name' = $_.Name;
                …
                'title' = $_.title
        }
}

(я, конечно, не знаю, что там у Вас внутри Вашего CSV).


Время: 18:31.

Время: 18:31.
© OSzone.net 2001-