[玩转系统] 检查 PowerShell 中是否存在 AD 用户
作者:精品下载站 日期:2024-12-14 20:33:48 浏览:13 分类:玩电脑
检查 PowerShell 中是否存在 AD 用户
在 PowerShell 中,我们必须导入 ActiveDirectory
模块才能使用 Get-ADUser
cmdlet。如果您已经导入了它,您可以跳转到在 PowerShell 中检查 AD 用户是否存在部分;否则,让我们继续下面的步骤。
安装ActiveDirectory
模块
要导入 ActiveDirectory
模块,我们首先需要安装它。因此,为此,我们需要执行以下步骤:
安装远程服务器管理工具 (RSAT)
如果我们使用Windows的工作站版本,我们需要安装它;否则,我们会收到一条错误消息,指出 Get-AD*
无法识别。但是,服务器变体不需要它,因为它已经可以在那里访问。 RSAT 软件包安装因 Windows 10 版本而异。
适用于 Windows 变体的 RSAT
如果我们使用 Microsoft Windows 10 pre-build 1809,我们需要从此处手动下载 RSAT 并安装它。但首先,请为您的操作系统和体系结构选择正确的版本(32 位或 64 位)。
安装完成后,请按照以下步骤进行验证:
- 打开
控制面板
。 - 转到
程序和功能
。 - 点击
打开或关闭 Windows 功能
;您可以在上一步中打开的程序和功能
窗口的左侧看到它。 - 在
Windows 功能
窗口中,展开远程服务器管理工具 -> 角色管理工具 -> AD DS 和 AD LDS 工具,并确保Active Directory Module for Windows PowerShell
被选中;默认情况下,它被选中。
另一方面,对于 Microsoft Windows 10 post-build 1809,我们不需要从外部下载它,因为它们作为可选功能提供。相反,我们需要运行 Add-WindowsCapability cmdlet(如下所示)来启用这些可选功能。
在 Windows 10 构建后 1809 上安装 RSAT:
Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0
现在,我们已准备好为此版本的 Windows 操作系统导入 ActiveDirectory
模块。如果您不知道 Windows 版本,请按键盘上的 Windows + R 键,输入 winver
,然后点击 输入;您将找到 Window 操作系统的版本。
适用于 Windows Server 2008R2 及最新版本的 RSAT
执行以下命令以在 PowerShell 中使用RSAT-AD-PowerShell
。
在 Windows Server 中启用 RSAT-AD-PowerShell 功能:
Import-Module ServerManager
Install-WindowsFeature -Name RSAT-AD-PowerShell
确保在服务器上运行上述命令;否则,您将收到一条错误消息,指出指定 cmdlet 的目标不能是基于 Windows 客户端的操作系统。您可以点击此链接下载 Windows Server。
无论是安装在 Windows 还是服务器变体上,安装 RSAT 后最好重新启动计算机。
导入 ActiveDirectory 模块
使用以下命令在 PowerShell 中导入 Active Directory 模块。
导入活动目录模块:
Import-Module ActiveDirectory
如果一切都就位,执行上述命令将不会出现任何错误。现在,您可以在 PowerShell 中使用 AD
命令。导入 Active Directory 模块后,不要忘记将 Windows PC 加入域控制器并以 AD
用户帐户登录。请记住,您可以使用 systeminfo
命令查找您的域
。
在PowerShell中检查AD用户是否存在
在 PowerShell 中使用 Get-ADUser
cmdlet 和 -Identity
参数。
将 Get-ADUser 与 -Identity 参数结合使用:
$username = "john"
$user = Get-ADUser -Identity $username
If ($user.SamAccountName -eq $username){
Write-Host "'$username' exists."
}else{
Write-Host "'$username' does not exist."
}
输出 :
john exists
将 Get-ADUser
与 -Identity
和 -Properties
参数结合使用可获取指定 AD
的所有属性> PowerShell 中的用户。
获取 ADUser 的所有属性:
Get-ADUser -Identity john -Properties *
输出 :
DistinguishedName : CN=John Williomson,OU=Writing,DC=Test,DC=local
Enabled : False
GivenName : John
Name : John Williomson
ObjectClass : user
ObjectGUID : b98fd0c4-3d5d-4219-8245-b04145d6a0db
SamAccountName : john
... ...
... ...
使用 Get-ADUser
cmdlet 和 -Filter
参数在 PowerShell 中获取多个用户对象。
将 Get-ADUser 与 -Filter 结合使用:
Get-AdUser -Filter "Name -like '*ser*'"
输出 :
DistinguishedName : CN=UserOne,OU=SEO,DC=TestOne,DC=local
Enabled : False
GivenName : UserOne
Name : UserOne
ObjectClass : user
... ...
... ...
... ...
DistinguishedName : CN=User One,CN=Users,DC=TestOne,DC=local
Enabled : True
GivenName : UserOne
Name : User One
ObjectClass : user
... ...
... ...
... ...
在本节的上述示例中,我们使用 Get-ADUser
cmdlet 来检索特定用户对象或搜索多个用户对象。 -Identity
参数用于指定要获取的AD
用户(Active Directory User)。请注意,我们可以通过不同的方式来识别用户,包括 DistinguishedName (DN)
、ObjectGUID
、SamAccountName
(SAM,安全帐户管理器)和SID
(安全标识符)。请注意,我们可以通过管道将特定的用户对象传递给 -Identity 参数或将其设置为用户对象变量;例如,-Identity $yourLocalUserObjectName
。
为了获取多个用户对象,我们对 Name
属性值与指定模式匹配的所有用户对象使用 -Filter
参数,即 *ser*
(*
通配符表示任意数量的字符)。或者,我们可以使用 -LDAPFilter 参数来检索多个用户对象。
如果-Filter
和-LDAPFilter
检索多个用户对象,它们之间有什么区别? -Filter
使用 PowerShell 表达式语言指定 AD(Active Directory)的查询字符串;但是,如果您安装了轻量级目录访问协议 (LDAP),则使用 -LDAPFilter
。您可以访问此页面了解更多详细信息。
使用 Get-ADUser
cmdlet 和 try-catch
块来处理发生的异常。请参阅以下示例。
将 Get-ADUser 与 try-catch 结合使用:
$UserName = "RandomName"
$User = $(try {Get-ADUser $UserName} catch {$null})
If ($User -ne $Null) {
echo "The specified user exists in the active directory."
} Else {
echo "The specified user does not exist in the active directory."
}
输出 :
The specified user does not exist in the active directory.
请注意,您可以使用数组运算符创建用户名数组,然后使用 foreach 循环迭代该数组。对于每个数组元素,检查它是否存在于活动目录中。
一些要点
以下是在 PowerShell 中检查 AD
用户是否退出时可能需要的几点:
无法在 PowerShell 中运行 Get-ADUser
如果出现以下任何问题,您可能无法运行此 cmdlet:
- Active Directory 模块未加载。请注意,
Get-ADUser
是ActiveDirectory
模块的一部分,默认情况下不会在 PowerShell 中加载该模块。最好将此模块导入为Import-Module ActiveDirectory
来加载它。 - 您没有以管理员身份运行 PowerShell。
- 您可能指定了不正确的参数或使用了不正确的语法。
ActiveDirectory
未加载,因为未找到有效的模块文件
为此,您需要确保以下几点:
- 您已下载并安装了正确版本的远程服务器管理工具 (RSAT)。
- 安装 RSAT 后,通过
Import-Module
cmdlet 导入ActiveDirectory
模块来启用它。 - 如果仍然遇到相同的问题,请重新启动计算机并重新运行命令。
- 仍然面临此问题,请重新检查 PowerShell 执行策略并确保您已安装正确版本的 RSAT。
无法找到正在运行 ADWS 的默认服务器
如果出现以下情况,您可能会遇到这种情况:
您的 Active Directory Web 服务 (ADWS) 服务未在域控制器上运行。要检查它,请在域控制器上打开
services.msc
并确保 Active Directory Web 服务的状态
为正在运行
。您未连接到网络。
如果您的 DNS 设置不正确。确认计算机的 DNS 设置配置正确,并且域控制器的主机名解析为正确的 IP 地址。
如果您没有指定正确的域控制器。如果您使用多个域控制器,则可能会发生这种情况。重新检查并确认您是否正确使用了以下命令:
使用 Get-ADUser Cmdlet:
Get-ADUser -Server <domain controller name or ip address> -Identity <username> </username></domain>
您可以在 PowerShell 上使用 systeminfo
命令来检查您的域。
在 services.msc
中找不到 Active Directory Web Services 服务
Active Directory Web 服务 (ADWS) 并不包含在所有版本的 Windows Server 中,因为默认情况下不安装它。如果您的域控制器或服务器上未安装它,则无法在 services.msc
中找到它。要解决此问题:
- 通过在 Windows 搜索栏上搜索来打开服务器管理器。
在服务器管理器中添加 AD DS 和 AD LDS 工具功能。为此:
- 单击
管理
并选择添加角色和功能
。然后,在打开的向导中单击下一步
,直到看到功能
部分。
- 单击
- 展开
远程服务器管理工具 -> 角色管理工具
。然后,选中AD DS 和 AD LDS Tools
复选框并点击下一步
进行安装。
找不到服务器管理器控制台
如果您的 Windows Server 操作系统上未安装服务器管理器控制台,您可能无法找到它。因此,对于这种情况,您需要 AD DS 和 AD LDS 工具功能,其中包括 ADWS 功能。为此:
- 以管理员身份打开 PowerShell,然后运行
Install-WindowsFeature RSAT-AD-Tools
命令安装 AD DS 和 AD LDS 工具功能。 - 运行上述命令将安装包含 AD DS 和 AD LDS 工具功能的 RSAT 功能。
- 现在,打开
services.msc
并验证 ADWS 是否已成功安装。如果无法找到 ADWS,请重新启动域控制器或服务器。
这就是如何在 PowerShell 中检查 AD 用户是否存在。
猜你还喜欢
- 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