wmi获取的机器序列号如何通过powershell赋值给AD计算机扩展对象


PowerShell交流中心分类: Powershell基础wmi获取的机器序列号如何通过powershell赋值给AD计算机扩展对象
1
Terryleeks asked 5年 ago

$pcname=”mmc-4567″
cls
$currentclass1=””
foreach($computer in $pcname)
{ $currentclass1= Get-WmiObject -class Win32_BIOS -computername $computer -namespace “root\cimv2″ |select -ExpandProperty SerialNumber
set-adcomputer -Identity $computer -Replace @{extensionAttribute15=$currentclass1}
$currentclass1=””
}
 
以上代码我用测试字符串”test”,可以正常赋值,但是改成wmi函数获取的变量就不行了;
set-adcomputer -Identity $computer -Replace @{extensionAttribute15=”test”}
另外直接赋值给description也是没有问题的
set-adcomputer -Identity $computer -Description $currentclass1
请高手告知,如何赋值给AD计算机扩展对象如adminDescription 或extensionAttribute15等

1 Answers
1
Best Answer
神经元短路 answered 5年 ago

你的错应该是出在循环的时候。当某一台电脑无法获得序列号时,$currentclass1为空,但是set-adcomputer的-replace不能设置空字符串,所以报错。
我测试下来adminDescription的设置方法和extensionAttribute是一样的。