我希望用计算机的型号填充本地机器描述(如果已经存在,则覆盖)。 有什么脚本可以为我执行这个任务吗? 我发现一个网站有一些代码,但他们没有解决scheme。 我对vb脚本知之甚less。 但是如果有这样做的话,那将会很棒。
谢谢
假设你想在本地机器本身而不是在Active Directory中更改计算机描述,那么可以使用Powershell(注意:你需要在XP客户机上使用powershell)执行以下操作。
$computer=get-wmiobject win32_computersystem
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters" -name "srvcomment" -value $computer.model
我寻找更优雅的方法来更新计算机的描述,但没有一个真正的工作。 更新registry项似乎是最简单的方法。
假设powershell不起作用,您可能需要查看名为AutoIT的脚本语言。 AutoIt可以将所有内容编译成一个独立的可执行文件,并消除客户端依赖。
站在CurtM的优秀答案的肩膀上,我有一个非PowerShell的方法。 从login脚本调用此脚本:
setmodel.cmd
@for /f " skip=1 tokens=1 delims=^|" %%a in ('wmic.exe path win32_computersystem get model' ) do set model=%%a @reg add HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters /v srvcomment /t reg_sz /d "%model%" /f
稍作修改,您可以处理域中的计算机列表:
setmodel_r.cmd
@for /f " skip=1 tokens=1 delims=^|" %%i in ('wmic.exe /node:%1 path win32_computersystem get model' ) do set model=%%i @reg add \\%1\HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters /v srvcomment /t reg_sz /d "%model%" /f
使用dsquery.exe获取域中计算机的列表。 将输出传递给setmodel_r.cmd,并且应该将模型设置为描述。 从命令提示符发出命令:
for /f %b in ('dsquery * domainroot -filter "(objectCategory=computer)" -attr name') do call setmodel_r.cmd %b
但是,在针对整个域运行之前,您可能需要testingsetmodel_r.cmd,
for /f %b in (testcomputers.txt) do call setmodel_r.cmd %b
testcomputers.txt包含多个机器名,每个机器名都在一个新行上。
你应该玩这些,直到你对自己的所作所为感到满意为止。
抢