Johny_spb
20-04-2017, 09:21
Доброе время суток!!
Есть скрипт для заполнения данных в 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,extensi onAttribute13,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,extensi onAttribute13,extensionAttribute14
}
}
catch {"Error found"}
Есть файл актуализации данных, сохраненный из Excel в формате csv с разделителями(Во вложении)
Помогите, не понимаю в какой кодировке необходимо сохранить файл или как добавить перекодировку в скрипт, что бы данные на русском языке нормально загружались в AD а то сейчас идет "??????????????????" Как это поправить?
Есть скрипт для заполнения данных в 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,extensi onAttribute13,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,extensi onAttribute13,extensionAttribute14
}
}
catch {"Error found"}
Есть файл актуализации данных, сохраненный из Excel в формате csv с разделителями(Во вложении)
Помогите, не понимаю в какой кодировке необходимо сохранить файл или как добавить перекодировку в скрипт, что бы данные на русском языке нормально загружались в AD а то сейчас идет "??????????????????" Как это поправить?