2

DSMOD 似乎没有能力更新这部分用户的 AD 属性(街道、邮政信箱、城市、州、邮编)。我可以从 powershell 或 cmd 运行任何命令行替代方案吗?

动机:我正在尝试用特定的用户信息填充我们的整个名册。我还将包括电话号码和业务信息(职位、公司、部门)。

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

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

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

4

4 回答 4

3

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

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

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

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

希望这可以帮助!

于 2015-01-23T13:01:55.870 回答
1

Set-ADUser 做了我一直在寻找的一切,它或多或少是内置的。

它是一个 Active Directory 域服务 Cmdlet,必须首先在 windows/powershell 中启用。请参阅此处的安装/配置说明: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

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

于 2013-12-27T21:34:42.200 回答
1

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

 $realPerson  =[adsi]((Get-Person -Alias $env:USERNAME).adspath)
 $realPerson.Telephone = "206-555-1212"
 $realPerson.SetInfo()
于 2013-09-26T21:28:37.570 回答
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

唯一可更改的属性是“DSADD /?”列出的那些属性。或“DSMOD /?”。要更改上述属性,您必须使用 Powershell、WSH 或第 3 方工具(例如免费的 Wisesoft Bulk AD 用户工具 --> http://www.wisesoft.co.uk/software/bulkadusers/default.aspx)。

于 2015-11-11T09:59:25.393 回答