[玩转系统] Set-ADUser 解释 - 如何使用 PowerShell 修改 AD 用户
作者:精品下载站 日期:2024-12-14 03:41:37 浏览:16 分类:玩电脑
Set-ADUser 解释 - 如何使用 PowerShell 修改 AD 用户
需要更新 Active Directory 中的多个用户?或者寻找更有效的方式来修改用户的属性?那么 PowerShell 中的 Set-ADuser cmdlet 确实会对您有所帮助。
我们都学会了通过 Active Directory 用户和计算机管理控制台 (ADUC) 来管理用户。它非常适合对单个用户快速进行一些更改。但是,当您需要更新不同 OU 中的多个用户的属性时,使用 PowerShell 会更有效。
在本文中,我们将了解如何使用 Set-ADuser cmdlet。我们有什么选择,我会给你一些有用的例子。
PowerShell 活动目录模块
在开始之前,我们首先需要确保已安装 PowerShell Active Directory 模块。要检查是否已安装该模块,只需在 PowerShell 中运行以下命令即可:
Get-Module -name ActiveDirectory
# Result:
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 1.0.0.0 ActiveDirectory {Add-ADCentralAccessPolicyMember, Add-ADComputerServiceAccount, Add-A...
如果该模块未列出,那么我们需要安装 RSAT 模块(远程服务器管理)。为此,请使用以下 PowerShell 命令:
Install-WindowsFeature RSAT-AD-PowerShell
该模块会自动安装在域控制器上。
在 Windows 10 上安装 PowerShell Active Directory 模块
但在 Windows 10 或 11 上我们需要启用 RSAT 功能。我们将使用 PowerShell 来执行此操作,而不是单击设置屏幕:
- 按Windows键+ X (或右键单击开始)
- 打开Windows PowerShell(管理员)
- 输入以下命令:
Add-WindowsCapability -online -Name “Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0”
使用 Set-ADUser cmdlet
使用 Set-ADUser cmdlet,我们可以修改 Active Directory 用户的所有属性。为此,我们可以使用 cmdlet 的参数之一或使用“添加”、“更新”、“替换”参数。 Microsoft 文档中列出了 Set-ADUser 的所有参数。
假设我们想要更改用户 Alan Rhodes 的职位。他目前的职位是员工,我们打算将其更改为楼层经理。
Set-ADUser -Identity arhodes -Title "Floor manager"
我们根据用户主体名称(身份)选择用户,并将标题设置为楼层经理。正如您在下面的屏幕截图中看到的,Set-ADUser
cmdlet 不提供任何输出。
但我们可以简单地使用 Get-ADUser
在 PowerShell 中检查结果
设置多个属性
我们还可以一次更改或设置多个属性。假设我们还想更新艾伦的电话号码、办公室和部门属性。
Set-ADUser -Identity arhodes -OfficePhone "(012)-157-8923" -Office "A3.20" -Department Operations
清除AD用户属性
有时您需要删除或清除某个属性。为此,您需要使用清除参数,这将删除所有选择字段的内容。如果我们想删除手机,我们可以执行以下操作:
Set-ADUser -identity arhodes -Clear mobile
或者要清除多个 AD 属性,您可以使用
Set-ADUser -identity arhodes -Clear mobile,title,department
使用 Set-ADUser 添加和删除属性
某些属性可以包含多个值,例如 ProxyAddress 或 otherTelephone 。要设置或更新这些属性中的值,我们可以使用 Set-ADUser 中的添加和删除参数。
您可以使用逗号分隔的列表来设置多个值:
Set-ADUser -Identity arhodes -Add @{proxyAddresses="[email protected]","[email protected]"}
要从列表中删除单个值,我们只需指定要删除的值即可:
Set-ADUser -Identity arhodes -Remove @{proxyAddresses="[email protected]"}
使用 Set-ADuser 禁用 Active Directory 帐户
我们还可以使用 Set-ADuser cmdlet 来启用或禁用 Active Directory 中的帐户。 enabled
参数是一个布尔类型,因此我们可以将其设置为 true 或 false。
要禁用 Active Directory 中的用户,可以使用以下命令:
# Disable a user
Set-ADUser -identity cparker -Enabled:$false
# Enable a user
Set-ADUser -identity cparker -Enabled:$false
批量更新AD用户
到目前为止,我们仅使用 PowerShell 更新了单个用户,但 Set-ADUser cmdlet 的真正威力在于批量更新 AD 用户。更改单个用户的属性也可以通过管理控制台轻松完成。
但如何更改 10 个用户的经理或更新所有用户的公司地址呢?为此,我们将使用 Get-ADUser
cmdlet 和 Set-ADUser
。 Get 允许我们过滤用户,我们可以使用 Set 来更新结果中的每个用户。
在第一个示例中,我们让艾伦·罗兹 (Alan Rhodes) 担任楼层经理。因此,让我们给他一些直接报告。我们将选择当前由 Andre West 作为经理的所有用户,并将其更改为 Alan Rhodes。
Get-ADUser -Filter 'manager -eq "awest"' | Set-ADUser -Manager arhodes
在使用 Set-ADuser 更改属性之前,最好先检查 Get-ADUser cmdlet 的结果。
按 OU 过滤
Get-ADUser 还允许我们过滤 OU。当您有很多用户并且想要限制结果或者您只需要选择用户时,这非常有用。
假设我们的营销部门要搬到另一个办公室。我们不能简单地根据办公地址来选择用户,因为我们只想要营销部门。那么我们能做的是:
Get-ADUser -Filter 'city -eq "Amsterdam"' -SearchBase "OU=Marketing,OU=Amsterdam,OU=Sites,DC=Lazyadmin,DC=NL" | Set-ADUser -StreetAddress "Westerdok 1" -PostalCode "2312ab"
使用 CSV 列表更新用户
批量更新 Active Directory 中的用户的另一个好方法是使用 CSV 列表。 CSV 文件的优点是您可以利用 Excel 文件的便利性为每个用户设置不同的值。
我在 Excel 中创建了一个简单的 CSV 文件,第一列是用户的显示名称,第二列和第三列是新电话号码。只需将 Excel 文件另存为 CSV 即可。
Name;MobilePhone;OfficePhone
Bob Davis;(732)-016-9810;(933)-701-6542
Erik Parker;(732)-016-9720;(933)-701-6543
Jean Miles;(732)-016-9821;(933)-701-6544
Kelly Rice;(732)-016-9813;(933)-701-6545
Mathew Scott;(732)-016-9620;(933)-701-6546
Oscar May;(732)-016-9851;(933)-701-6547
Regina Clark;(732)-016-9811;(933)-701-6548
我们现在可以创建一个小型 PowerShell 脚本,该脚本将读取 CSV 文件、查找每个用户并使用正确的值更新属性:
Import-Csv -Delimiter ";" -Path c:\temp\PhoneNumberUpdate.csv | Foreach {
# Find user
$ADUser = Get-ADUser -Filter "name -eq '$($_.name)'"
if ($ADUser){
Set-ADUser -Identity $ADUser -MobilePhone $_.MobilePhone -OfficePhone $_.OfficePhone
}else{
Write-Warning ("Failed to update " + $($_.name))
}
}
使用实例参数
从 CSV 文件导入数据的一个常见问题是空值。以上面的例子为例,并非所有用户都可能拥有手机号码。如果我们使用上面的方法运行脚本,我们会收到错误,因为某些字段不包含值。为了解决这个问题,我们可以使用 -Instance
参数。
使用 Instance 参数,只有更改的值才会更新。这也允许我们处理 CSV 文件中的空值。我通过删除一些(移动)电话号码更改了示例 CSV:
Name;MobilePhone;OfficePhone
Bob Davis;(732)-016-9810;(933)-701-6542
Erik Parker;;(933)-701-6543
Jean Miles;;(933)-701-6544
Kelly Rice;(732)-016-9813;(933)-701-6545
Mathew Scott;(732)-016-9620;
Oscar May;;(933)-701-6547
Regina Clark;(732)-016-9811;(933)-701-6548
要更新字段,我们首先获取具有所需属性的用户,然后设置新值并使用 Set-ADUser 更新用户。如果 CSV 文件中该字段为空,那么我们将跳过它。请记住,此方法不会清除 Active Directory 中的值。
Import-Csv -Delimiter ";" -Path c:\temp\PhoneNumberUpdate.csv | Foreach {
# Find user
$ADUser = Get-ADUser -Filter "name -eq '$($_.name)'" -Properties MobilePhone,OfficePhone
if ($ADUser){
if ($_.MobilePhone) {$ADUser.MobilePhone = $_.MobilePhone}
if ($_.OfficePhone) {$ADUser.OfficePhone= $_.OfficePhone}
Set-ADUser -Instance $ADUser
}else{
Write-Warning ("Failed to update " + $($_.name))
}
}
在本文中,我将更详细地介绍如何使用 CSV 文件更新 Active Directory 中的用户属性。
总结
Set-ADUser cmdlet 使更新 Active Directory 中多个用户的属性变得非常容易。请始终确保首先使用 Get-ADUser 或使用 -whatif
参数验证过滤器。
如果您有任何疑问,请在下面发表评论。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag