dsmod或其他命令来编辑AD用户属性(Street,P.O。Box,City,State,Zip)

时间:2013-09-26 19:40:21

标签: active-directory

DSMOD似乎无法更新用户AD属性的这部分(Street,P.O。Box,City,State,Zip)。是否有任何命令行替代品我可以从powershell或cmd运行?

动机: 我正在尝试用特定的用户信息填充我们的整个名单。我还将包括电话号码和商业信息(标题,公司,部门)。

我有一个包含所有这些信息的名册电子表格,我想编写一个命令,将所有这些信息推送到名单中每个用户的AD。

但是,我似乎无法找到允许我更新用户属性“地址”选项卡下的信息的命令(如果从AD用户和计算机中查找用户)。

希望有人知道更好的方法!

4 个答案:

答案 0 :(得分:2)

不确定这是否仍然相关,因为您的问题来自去年,但我找到了其他搜索会发现有用的解决方案:

dsmod用户CAN编辑所有AD属性,只是MSDN没有列出要修改的所有属性名称。一些例子:

City = l
Postalcode = zip
State = st
Street = streetaddress

kouti有一个很好的所有AD属性列表: http://www.kouti.com/tables/userattributes.htm

希望这有帮助!

答案 1 :(得分:1)

PowerShell Pipeworks中的Get-Person命令将执行活动目录查找。这将包含真实对象的ADSI路径。您可以使用它来设置数据。

 $realPerson  =[adsi]((Get-Person -Alias $env:USERNAME).adspath)
 $realPerson.Telephone = "206-555-1212"
 $realPerson.SetInfo()

答案 2 :(得分:1)

Set-ADUser可以完成我想要的所有内容,而且或多或少内置。

它是必须首先在windows / powershell中启用的Active Directory域服务Cmdlet。请参阅此处的安装/配置说明:http://blogs.technet.com/b/heyscriptingguy/archive/2010/01/25/hey-scripting-guy-january-25-2010.aspx

请参阅此处的使用说明: http://blogs.technet.com/b/heyscriptingguy/archive/2012/10/31/use-powershell-to-modify-existing-user-accounts-in-active-directory.aspx

以下是它能够推送的一些字段(在许多其他设置中):

[-City <String>] 
[-Company <String>] 
[-Country <String>]
[-Department <String>] 
[-Description <String>] 
[-DisplayName <String>] 
[-Division <String>]
[-EmailAddress <String>]
[-EmployeeID <String>] 
[-EmployeeNumber <String>] 
[-Fax <String>] 
[-GivenName <String>] 
[-HomeDirectory <String>] 
[-HomeDrive <String>] 
[-HomePage <String>] 
[-HomePhone <String>]
[-Initials <String>] 
[-Manager <ADUser>]
[-MobilePhone <String>] 
[-Office <String>]
[-OfficePhone <String>] 
[-Organization <String>] 
[-OtherName <String>] 
[-POBox <String>]
[-PostalCode <String>]
[-ProfilePath <String>] 
[-ScriptPath <String>]
[-Server <String>]
[-State <String>] 
[-StreetAddress <String>] 
[-Surname <String>] 
[-Title <String>]

它甚至可以像具有实例参数的对象一样使用,如前面的回复建议:

C:\PS>$user = Get-ADUser GlenJohn -Properties mail,department
$user.mail = "glen@fabrikam.com"
$user.department = "Accounting"
Set-ADUser -instance $user

应该可以轻松构建脚本。很酷!

答案 3 :(得分:1)

@OllieSmith,您的陈述是错误的 - DSADD和DSMOD都无法更改Street,City或任何上述属性,至少在Server 2008 R2 / Server 2012环境中无法更改。 (也许这对于Server 2003来说是正确的)

C:\>dsmod user "CN=mde.bs.7001,OU=MDE,OU=Users,OU=Basel,OU=RCL,OU=RAG_Users_Computers,DC=ra,DC=wan" -StreetAddress "Teststreet"
dsmod failed:'-StreetAddress' is an unknown parameter.

输入dsmod /?寻求帮助。

C:\>dsmod user "CN=mde.bs.7001,OU=MDE,OU=Users,OU=Basel,OU=RCL,OU=RAG_Users_Computers,DC=ra,DC=wan" -desc "Description"
dsmod succeeded:CN=mde.bs.7001,OU=MDE,OU=Users,OU=Basel,OU=RCL,OU=RAG_Users_Computers,DC=ra,DC=wan

唯一可更改的属性是&#34; DSADD /?&#34;或&#34; DSMOD /?&#34;。要更改上述属性,您必须使用Powershell,WSH或第三方工具(例如免费的Wisesoft批量AD用户工具 - &gt; http://www.wisesoft.co.uk/software/bulkadusers/default.aspx)。