2010-02-02 3 views
3

В среде Windows Server 2003 R2, используя Powershell v2.0, как можно дублировать функциональность Set-QADUser для обновления свойств пользователя в Active Directory, например, их номера телефона и названия?Обновление свойств пользователя Active Directory в Active Directory с использованием Powershell

Трюк здесь, я хотел бы сделать это, не в зависимости от Set-QADUser, и у меня пока нет возможности использовать командлеты Server 2008.

Спасибо.

ответ

6

Piecing вещи вместе со всего интернета, я придумал это ...

function Get-ADUser([string]$samid=$env:username){ 
    $searcher=New-Object DirectoryServices.DirectorySearcher 
    $searcher.Filter="(&(objectcategory=person)(objectclass=user)(sAMAccountname=$samid))" 
    $user=$searcher.FindOne() 
     if ($user -ne $null){ 
      $user.getdirectoryentry() 
    } 
} 

$user = Get-ADUser 'UserName' 

# Output all properties 
$user.psbase.properties 

# Change some properties 
$user.title = 'New Title' 
$user.telephoneNumber = '5555551212' 
$user.SetInfo() 

# Output the results 
$user.title 
$user.telephoneNumber 

Дополнительная информация

+2

С ADSI и PowerShell вы можете многое сделать, и еще пару способов сделать что-то. Например, если вам необходимо установить пароль, который Вы можете использовать: $ user.psbase.Invoke («SetPassword», «PasswordGoesHere») $ user.psbase.CommitChanges() Полезно, если вы хотите, чтобы создание сценария нового учетные записи пользователей. – Jonny

1

Вы должны использовать ADSI objects в PowerShell. Синтаксис будет похож на vbscript, потому что вы используете один и тот же компонент.

Смежные вопросы