Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 29
Благодарности: 0

Профиль | Отправить PM | Цитировать


Попробовал.
На QAD скрипт выдаёт такое:
читать дальше »
Set-QADUser : Отсутствует аргумент для параметра "Identity". Укажите параметр типа "Quest.ActiveRoles.ArsPowerShellSnap
In.Data.IdentityParameter" и повторите попытку.
C:\2.ps1:7 знак:30
+ Set-QADUser -Identity <<<< -Email $user.Email -DisplayName $user.displayname -MobilePhone $user.MobilePhone
-Description $user.Description -WhatIf
+ CategoryInfo : InvalidArgument: ( [Set-QADUser], ParameterBindingException
+ FullyQualifiedErrorId : MissingArgument,Quest.ActiveRoles.ArsPowerShellSnapIn.Powershell.Cmdlets.SetUserCmdlet

Я так понимаю, что он не может считать параметр, который подставляет в Identity. Почему - загадка.

Вот CSV:
читать дальше »
DisplayName;Email;TelephoneNumber;mobile;homephone
Иванов Иван;ivan.ivanov@test.ru;101;495-999-66-99;8-999-999-88-22
Дмитриев Дмитрий;Dmitry.Dmitriev@test.ru;10444;8(921)555-55-55;302
Василий Васильев;vasily.vasiliev@test.ru;11107;+7 (921) 555-8877;+7 (911) 6777777


Список перепроверял миллион раз - не понимаю.
На скрипт, который дал Kazun - всё срабатывает, с изменением на такой скрипт:
читать дальше »
$users = Import-Csv c:\list.csv -Delimiter ";"
$props = $users | Get-Member -MemberType NoteProperty | Select -Expand Name

foreach ($user in $users)
{
$objuser = ([adsisearcher]"(mail=$($user.Email))").FindOne().GetDirectoryEntry()
$props | Foreach {
$prop = $_.ToLower()
if ($user.$prop -ne $objuser.InvokeGet($prop))
{
$objuser.Put("$prop",$user.$prop)
}
}
$objuser.SetInfo()
}


Правда выдаёт ошибку, но делает. Ошибка такая:
читать дальше »
Исключение при вызове "InvokeGet" с "1" аргументами: "Неизвестное имя. (Исключение из HRESULT: 0x80020006 (DISP_E_UNKNO
WNNAME))"
C:\1.ps1:9 знак:41
+ if ($user.$prop -ne $objuser.InvokeGet <<<< ($prop))
+ CategoryInfo : NotSpecified: ( [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException

Исключение при вызове "InvokeGet" с "1" аргументами: "Неизвестное имя. (Исключение из HRESULT: 0x80020006 (DISP_E_UNKNO
WNNAME))"
C:\1.ps1:9 знак:41
+ if ($user.$prop -ne $objuser.InvokeGet <<<< ($prop))
+ CategoryInfo : NotSpecified: ( [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException

Исключение при вызове "InvokeGet" с "1" аргументами: "Неизвестное имя. (Исключение из HRESULT: 0x80020006 (DISP_E_UNKNO
WNNAME))"
C:\1.ps1:9 знак:41
+ if ($user.$prop -ne $objuser.InvokeGet <<<< ($prop))
+ CategoryInfo : NotSpecified: ( [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException

Исключение при вызове "InvokeGet" с "1" аргументами: "Неизвестное имя. (Исключение из HRESULT: 0x80020006 (DISP_E_UNKNO
WNNAME))"
C:\1.ps1:9 знак:41
+ if ($user.$prop -ne $objuser.InvokeGet <<<< ($prop))
+ CategoryInfo : NotSpecified: ( [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException


Осталось провести более масштабную проверку (до этого проверял на 4-7 пользователях на тестовой машине). Завтра попробую развернуть на большую - посмотрим, что получится.

Последний раз редактировалось rox33, 04-07-2012 в 18:16.


Отправлено: 18:10, 04-07-2012 | #8