[玩转系统] 如何在 Active Directory 中自动填写计算机描述
作者:精品下载站 日期:2024-12-14 23:18:49 浏览:14 分类:玩电脑
如何在 Active Directory 中自动填写计算机描述
您可以在 Active Directory 中的计算机对象的描述中存储各种有用的信息。例如,有关计算机型号、硬件清单或上次登录用户名的信息。在本文中,我们将了解如何使用 PowerShell 自动填充和更新 Active Directory 中计算机对象的描述字段中的信息。
使用 PowerShell 更新 Active Directory 中的计算机描述字段
例如,您希望 Active Directory 用户和计算机控制台中的计算机和服务器的说明字段显示有关计算机的制造商、型号和序列号的信息。您可以使用以下 PowerShell 命令从 WMI 获取本地计算机上的此信息:
Get-WMIObject Win32_ComputerSystemProduct | Select Vendor, Name, IdentifyingNumber
WMI 查询返回以下数据:
供应商 - HP
名称 - Proliant DL 360 G5
-
识别号码 - CZJ733xxxx
从环境变量中获取当前计算机的名称并将其分配给
$computer
多变的:
$computer = $env:COMPUTERNAME
然后保存有关计算机硬件的信息:
$computerinfo= Get-WMIObject Win32_ComputerSystemProduct
$Vendor = $computerinfo.vendor
$Model = $computerinfo.Name
$SerialNumber = $computerinfo.identifyingNumber
让我们看看为变量分配了哪些值:
$computer
$vendor
$Model
$SerialNumber
剩下的工作就是将接收到的数据写入 Active Directory 中计算机帐户的“描述”字段中。运行以下 PowerShell 脚本:
$ComputerSearcher = New-Object DirectoryServices.DirectorySearcher
$ComputerSearcher.SearchRoot = "LDAP://$("DC=$(($ENV:USERDNSDOMAIN).Replace(".",",DC="))")"
$ComputerSearcher.Filter = "(&(objectCategory=Computer)(CN=$Computer))"
$computerObj = [ADSI]$ComputerSearcher.FindOne().Path
$computerObj.Put( "Description", "$vendor|$Model|$SerialNumber" )
$computerObj.SetInfo()
您还可以使用 Set-ADComputer cmdlet 更改计算机描述。但是,这需要在计算机上安装 Windows PowerShell 的 Active Directory 模块(来自 RSAT 管理工具包)。
Set-ADComputer $computer -Description "$vendor|$Model|$SerialNumber”
如果要使用 AD PowerShell 模块中的 cmdlet,可以将模块文件复制到所有计算机,而无需安装 RSAT。
验证 ADUC 控制台中的计算机描述字段是否显示制造商和型号信息。
这样的脚本只会更新AD中当前的计算机描述属性。您可以使用 Get-ADComputer 远程填充所有域计算机的描述,
foreach
环形。但当用户登录或计算机启动时,让计算机自动更新 AD 中的信息要方便得多。
为此,您需要使用 PowerShell 登录脚本创建组策略并将其应用到所有计算机:
打开域组策略管理控制台(
gpmc.msc
)、创建一个GPO并将其分配给有计算机的OU;
展开 GPO:用户配置 -> 策略 -> Windows 设置 -> 脚本(登录/注销)-> 登录;
转到 PowerShell 脚本 选项卡;
单击显示文件按钮并使用以下代码创建一个FillCompDesc.ps1文件:
# write information about the computer hardware/model in the Description field in Active Directory $computer = $env:COMPUTERNAME $computerinfo= Get-WMIObject Win32_ComputerSystemProduct $Vendor = $computerinfo.vendor $Model = $computerinfo.Name $SerialNumber = $computerinfo.identifyingNumber $DNSDOMAIN= (Get-WmiObject -Namespace root\cimv2 -Class Win32_ComputerSystem).Domain $ComputerSearcher = New-Object DirectoryServices.DirectorySearcher $ComputerSearcher.SearchRoot = "LDAP://$("DC=$(($DNSDOMAIN).Replace(".",",DC="))")" $ComputerSearcher.Filter = "(&(objectCategory=Computer)(CN=$Computer))" $computerObj = [ADSI]$ComputerSearcher.FindOne().Path $computerObj.Put( "Description", "$vendor|$Model|$SerialNumber" ) $computerObj.SetInfo()
您可以选择记录 PowerShell 脚本操作,以便更轻松地进行故障排除。
-
单击添加按钮并设置以下脚本参数:
脚本名称:FillCompDesc.ps1
脚本参数:
-ExecutionPolicy Bypass
在这种情况下,您不必更改 PowerShell 执行策略设置或签署 PS1 脚本文件即可运行 PowerShell 脚本。
将 AD 权限委派给经过身份验证的用户域组的特定 OU。分配权限以更改 OU 中所有计算机对象的描述属性(
Write Description
允许)。这将允许域用户和计算机更改计算机对象的描述属性中的值;
重新启动目标 OU 中的计算机并更新组策略设置后,AD 中的“描述”字段将自动填写。该字段将包含有关计算机硬件的信息。
您可以使用以下命令对 GPO 进行故障排除
gpresult
工具或使用导致组策略不适用的常见问题一文中的提示。
因此,您可以在 AD 中计算机对象的“描述”字段中添加任何信息。例如,上次登录用户的名称、部门(您可以使用 Get-ADUser cmdlet 获取此信息)、计算机的 IP 地址或您需要的任何其他相关信息。
注意。这种方法的缺点是任何经过身份验证的 AD 用户都可以更改或删除 Active Directory 中任何计算机的描述。
将上次登录的用户名添加到 AD 中的计算机描述中
上面的 PowerShell 脚本可用于将任何其他信息添加到 AD 中计算机对象的描述中。例如,当计算机的描述显示当前登录的用户时,它会很有用。我们还添加用户经过身份验证的域控制器的名称(
LOGONSERVER
)。
将 PowerShell 登录脚本中的一行更改为:
$computerObj.Put("Description","$vendor|$Model|$SerialNumber|$env:username|$env:LOGONSERVER")
注销并使用您的用户帐户登录。检查计算机描述属性现在是否显示当前用户的名称以及您通过身份验证的登录服务器(域控制器)。
为了解析 Description 属性中的数据,您可以使用以下 PowerShell 代码:
$ComputerName = 'PC-MUN22s7b2'
$vendor,$Model,$SerialNumber,$Username,$LogonServer = ((Get-ADComputer -identity $ComputerName -Properties *).description).split("|")
我们将“描述”字段值(用 | 分隔)拆分为多个单独的变量。要获取指定远程计算机上的用户名,只需运行:
$Username
您可以使用以下 PowerShell 脚本获取特定用户当前登录的计算机的名称:
$user='*M.Becker*'
Get-ADComputer -Filter "description -like '$user'" -properties *|select name,description |ft
猜你还喜欢
- 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 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[短剧合集] 2025年06月2日 精选+付费短剧推荐39部
[软件合集] 25年6月2日 精选软件18个
[软件合集] 25年6月1日 精选软件15个
[短剧合集] 2025年06月1日 精选+付费短剧推荐59部
[剧集] [央视][笑傲江湖][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
[美图] 2W美女个美女小姐姐,饱眼福
[电视剧] [突围] [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