使用powershell管理域用户

使用powershell管理域用户

黑客专题hacker2019-05-26 8:46:2212335A+A-

在域细胞外液中,经常必须应用命令行管理方法域客户,这时能够应用Active Directory中的命令行专用工具Dsquery.exe,或CSVE,及其Ldifde等,我觉得,应用Windows Powershell来开展管理方法实际操作都是相当于的便捷。

下边以建立客户举例说明:建立域客户最基础的Windows Powershell脚本制作相近那样:

$objOU=[ADSI]"LDAP://OU=People,DC=contoso,DC=com"

$objUser=$objU.Create("user","CN=Mary North")

$odjUser.Put=("sAMAccountName","mary.north")

$objUser.SetInfo()

所述编码例举了在Active Directory中应用Windows Powershell建立客户的4个基础流程。下边将作详解。

联接到Active Directory器皿

要 建立客户那样的构造函数,事实上是要对该构造函数的器皿来创建对象。因而最先必须对于器皿,实行某类实际操作,也就是说“方式”。首先必须联接到器皿,Windows Powershell能够应用Active Directory服务项目接口类型电源适配器选择到Active Directory构造函数。要联接Active Directory构造函数,必需递交LDAP查寻字符串,也就是说LDAP://协议书标志符,后跟构造函数的DN。因而第一行代码应当像下边那样:

$objOU=[ADSI]"LDAP://OU=People,DC=contoso,DC=com"

Windows Powershell必须应用ADSI种类电源适配器建立意味着People OU的构造函数,并将其分派给份量。名叫objOU的自变量体现了对变量类型开展标志,以obj打头仅仅程序编写规范,但实际上自变量能够应用一切名字。

启用Create方式

      至 此,自变量$objOU就能够意味着People OU。然后只能应用器皿的create方式让器皿创建对象。Create方式必须出示2个主要参数:构造函数类和对象RDN。构造函数的RDN就是指该构造函数在父器皿下的 名字部位,绝大多数构造函数类则应用“CN=构造函数名”那样的文件格式做为自个的RDN。显然OU的RDN是“OU=机构公司名称”那样的文件格式,而域的RDN是 “DN=网站域名”。因而下述编码能够应用”CN=Mary North”那样的RDN建立客户构造函数:

$objUser=$objU.Create("user","CN=Mary North")

转化成的构造函数結果会分派给自变量$objUser,合用该自变量意味着要建立的构造函数,能够事件实际操作。

填写信息客户特性

       这 里必须特别注意1个难题,在将修改合拼以前,新构造函数和其开展的修改都不容易储存,而在填写信息全部必需的特性以前,还不可以取得成功合拼修改。客户构造函数的必需温馨包含 windows 2000前登录名。该特性的LDAP名字是sAMAccountName,因而编码的下每行必须为构造函数指派sAMAccountName,这时必须应用 Put方式。Put是为构造函数载入特性的规范方式,Get则是查找构造函数特性的规范方式,此地的编码应当像下边那样:

$odjUser.Put=("sAMAccountName","Mary North")

针对客户构造函数,也有别的强制性特性,包含构造函数的安全性标志符(SID),但这种构造函数会在将新客户递交到文件目录的那时候用Active Directory全自动建立。

应用SetInfo方式合拼修改要合拼修改,请应用Active Directory构造函数的SetInfo方式。此地的编码应当像下边那样:

$objUser.SetInfo()

填写信息本地用户特性所述指令将建立只包括强制性sAMAccountName特性的客户,在建立客户构造函数时,还必须填写信息本地用户特性。前边详细介绍了应用客户构造函数的Put方式载入特性,因而这儿只必须反复启用该方式,特定必须加上的每一特性只能:

$odjUser.Put=("sAMAccountName", "$samAccountName")

$odjUser.Put=("displayName", "$displayname")

$odjUser.Put=("sn", "$sn")

$objUser.SetInfo()

客户的登陆密码又该怎么办?应用Put方式没法设定客户登陆密码,相对这时理应应用SetPassword方式,比如那样:

$objUser.SetPassword("passwd")

显然SetPassword方式只有在建立好客户并启用SetInfo()方式以后应用,这代表事实上,我们都是优选建立好帐户,随后才为其密码设置。这并非Windows Powershell的Bug或局限性,只是Kerberos和LDAP的实际上规定。只有安全系数并不容易受


点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 5条评论
  • 礼忱槿畔2022-06-03 02:28:42
  • t;, "$displayname")$odjUser.Put=("sn", "$sn")$objUser.SetInfo()客户的登陆密码又该怎么办?应用Put方式没法设定客户登陆密码,相对这时理应应用
  • 辙弃债姬2022-06-03 03:12:34
  • 建立客户举例说明:建立域客户最基础的Windows Powershell脚本制作相近那样:$objOU=[ADSI]"LDAP://OU=People,DC=contoso,DC=com"$objUser=$objU.Create("
  • 笙沉迟醉2022-06-02 22:58:40
  • r.Put=("sn", "$sn")$objUser.SetInfo()客户的登陆密码又该怎么办?应用Put方式没法设定客户登陆密码,相对这时理应应用SetPassword方式,比如那样:$objUser.SetPassword("pa
  • 青迟冂马2022-06-03 01:35:41
  • 在域细胞外液中,经常必须应用命令行管理方法域客户,这时能够应用Active Directory中的命令行专用工具Dsquery.exe,或CSVE,及其Ldifde等,我觉得,应用Windows Powershell来开展管理方法实际操作都是相当于
  • 听弧并安2022-06-02 22:29:24
  • 寻字符串,也就是说LDAP://协议书标志符,后跟构造函数的DN。因而第一行代码应当像下边那样:$objOU=[ADSI]"LDAP://OU=Peop

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理