|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Проблема с заполнение атрибутов AD |
|
PowerShell - [решено] Проблема с заполнение атрибутов AD
|
Новый участник Сообщения: 34 |
Доброе время суток!!
Есть скрипт для заполнения данных в AD 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) { $name=$user.name $title=$user.title $department=$user.Department $company=$user.company $ext10=$user.Ext10 $ext11=$user.Ext11 $ext12=$user.Ext12 $ext13=$user.Ext13 $ext14=$user.Ext14 Get-ADUser -Filter {name -eq $name} -SearchBase "OU=Company,DC=com,DC=tu,DC=RU" -Properties name,title,Department,company,extensionAttribute10,extensionAttribute11,extensionAttribute12,extensionAttribute13,extensionAttribute14 $tuser = Get-ADUser -Filter {name -eq $name} -SearchBase "OU=Company,DC=com,DC=tu,DC=RU" if ($tuser -notlike $null){ $SAN = $tuser.SamAccountName if ($department -notlike ''){ Set-ADUser $SAN -replace @{Department=$department} } if ($company -notlike ''){ Set-ADUser $SAN -replace @{company=$company} } if ($title -notlike ''){ Set-ADUser $SAN -replace @{title=$title} } if ($ext10 -notlike ''){ Set-ADUser $SAN -replace @{extensionAttribute10=$ext10} } if ($ext11 -notlike ''){ Set-ADUser $SAN -replace @{extensionAttribute11=$ext11} } if ($ext12 -notlike ''){ Set-ADUser $SAN -replace @{extensionAttribute12=$ext12} } if ($ext13 -notlike ''){ Set-ADUser $SAN -replace @{extensionAttribute13=$ext13} } if ($ext14 -notlike ''){ Set-ADUser $SAN -replace @{extensionAttribute14=$ext14} } } Write-Host "User $name Changed!!!" Write-Host "" Write-Host "" Get-ADUser $SAN -Properties name,title,Department,company,extensionAttribute10,extensionAttribute11,extensionAttribute12,extensionAttribute13,extensionAttribute14 } } catch {"Error found"} Помогите, не понимаю в какой кодировке необходимо сохранить файл или как добавить перекодировку в скрипт, что бы данные на русском языке нормально загружались в AD а то сейчас идет "??????????????????" Как это поправить? |
|
Отправлено: 09:21, 20-04-2017 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать В Excel сохранить как - выбрать CSV UTF-8 (разделитель-запятая)(*.csv) или любой другой редактор в UTF-8(notepad - сохранить как - Кодировка UTF-8).
Если PowerShell 3+, можно указать кодировку для файла, для вашего примера: PS > Import-csv user.csv -Delimiter ";" -Encoding Default | Where Name name : 40TestTT title : Старший Department : Российской Федерации company : Компания extensionAttribute10 : ТЕРРИТОРИАЛЬНЫЕ УЧРЕЖДЕНИЯ extensionAttribute11 : СЕВЕРО-ЗАПАДНОЕ extensionAttribute12 : Северо-Западного extensionAttribute13 : Отдел extensionAttribute14 : Сектор name : 40TestTT01 title : Старший Department : Российской Федерации company : Компания extensionAttribute10 : ТЕРРИТОРИАЛЬНЫЕ УЧРЕЖДЕНИЯ extensionAttribute11 : СЕВЕРО-ЗАПАДНОЕ extensionAttribute12 : Северо-Западного extensionAttribute13 : Отдел extensionAttribute14 : Сектор |
Отправлено: 09:29, 20-04-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать |
Отправлено: 09:43, 20-04-2017 | #3 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Обновить версию PowerShell до актуальной. На данный момент, я думаю версия V2, где нет таких параметров -Encoding Default и нового функционала Where Name.
Посмотреть версию: Подробнее про ошибку , выполнить в консоли: PS. Если не обновлять PowerShell, а использовать V2, тогда пересохранить csv файл в кодировке - UTF8 и использовать скрипт в первоначальном виде. |
Отправлено: 10:00, 20-04-2017 | #4 |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать Версию обновил до 4. Теперь Encoding работает. Вот только почему то не заносит данные в атрибуты extensionAttribute10,extensionAttribute11,extensionAttribute12,extensionAttribute13,extensionAttribu te14 =(
|
|
Отправлено: 11:40, 20-04-2017 | #5 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:43, 20-04-2017 | #6 |
Новый участник Сообщения: 34
|
Профиль | Отправить PM | Цитировать Точно, с тупил пока игрался на старой версии поменял, а обратно не сделал
![]() |
Отправлено: 12:11, 20-04-2017 | #7 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] заполнение поля "IP телефон" в карточке пользователя AD | K2G | Скриптовые языки администрирования Windows | 3 | 12-03-2019 13:33 | |
PowerShell - [решено] AD - Добавление в группу на основе атрибутов | rudimko | Скриптовые языки администрирования Windows | 24 | 26-08-2015 13:20 | |
PowerShell - Изменение атрибутов всех пользователей AD из exel | admt | Скриптовые языки администрирования Windows | 3 | 07-03-2014 18:07 | |
PowerShell - Автоматическое заполнение атрибутов пользтвателей AD | malkinfedor | Скриптовые языки администрирования Windows | 0 | 20-12-2010 17:01 | |
Разное - Проблема: полное заполнение оперативной памяти (подр. внутри) | GameCube | Microsoft Windows Vista | 1 | 23-02-2009 00:14 |
|