用于填充 Windows XP 和 Win7 计算机描述的脚本

用于填充 Windows XP 和 Win7 计算机描述的脚本

我希望用计算机的型号填充本地机器描述(如果已经存在则覆盖)。是否有某种脚本可以为我执行此任务?我找到了一个网站,上面有一些代码,但他们没有解决方案。我对 vb 脚本知之甚少。但如果有办法做到这一点,那就太好了。

谢谢

答案1

假设您想要在本地计算机上更改计算机描述,而不是在 Active Directory 中更改 - 您可以使用 Powershell 执行以下操作(注意:您需要在 XP 客户端上安装 powershell)。

$computer=get-wmiobject win32_computersystem
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters" -name "srvcomment" -value $computer.model

我寻找了更优雅的方法来更新计算机描述,但实际上都没有用。更新注册表项似乎是最简单的方法。

假设 powershell 不起作用,你可能需要研究一种名为汽车信息技术。AutoIt 可以将所有内容编译为一个独立的可执行文件并消除客户端依赖性。

答案2

站在 CurtM 优秀答案的肩膀上,我有一个非 powershell 方法。从登录脚本调用此脚本:

设置模型

@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

经过微小的修改,您可以处理域中的机器列表:

设置模型

@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

但是,您可能需要在针对整个域运行 setmodel_r.cmd 之前对其进行测试 -

for /f %b in (testcomputers.txt) do call setmodel_r.cmd %b

其中 testcomputers.txt 包含多个机器名称,每个机器名称占一行。

您应该反复尝试这些操作直到您熟悉它们的功能为止。

相关内容