C# PowerShell:如何在SCCM 2012中创建设备?

C# PowerShell:如何在SCCM 2012中创建设备?,c#,powershell,sccm,winpe,C#,Powershell,Sccm,Winpe,我需要使用PowerShell从运行的WinPE介质创建SCCM对象/设备。一个人怎么能做这样的事 我所在公司的一位前员工使用microsoft.configurationmanagement.managementprovider.dll创建了一个C Web解决方案,以创建SCCM设备并为其添加属性。我必须将此函数迁移到在WinPE上运行的PowerShell脚本 有没有关于这个的输入和指针?提前谢谢也许你可以这样做: # client data $clientname = "PC01" $ma

我需要使用PowerShell从运行的WinPE介质创建SCCM对象/设备。一个人怎么能做这样的事

我所在公司的一位前员工使用microsoft.configurationmanagement.managementprovider.dll创建了一个C Web解决方案,以创建SCCM设备并为其添加属性。我必须将此函数迁移到在WinPE上运行的PowerShell脚本


有没有关于这个的输入和指针?提前谢谢

也许你可以这样做:

# client data
$clientname = "PC01"
$mac = "00:11:22:33:44:55"

# server data
$serverhostname = "SCCMSERVER01"
$sitecode = "ABC"
$collname = "Windows_7_OSD"

# query
$collquery = Get-WmiObject -Namespace "Root\SMS\Site_$sitecode" -Class SMS_Collection -Filter "Name='$collname'"

# create computer
$wmiconnection = ([WMIClass]"\\$serverhostname\root\SMS\Site_$sitecode:SMS_Site")
$newclient = $wmiconnection.psbase.GetMethodParameters("ImportMachineEntry")
$newclient.MACAddress = $mac
$newclient.NetbiosName = $clientname
$newclient.OverwriteExistingRecord = $true
$res = $wmiconnection.psbase.InvokeMethod("ImportMachineEntry",$newclient,$null)

# add client to collection
$newmembership = ([WMIClass]"\\$serverhostname\root\SMS\Site_$sitecode:SMS_CollectionRuleDirect").CreateInstance()
$newmembership.ResourceClassName = "SMS_R_SYSTEM"
$newmembership.ResourceID = $res.ResourceID
$newmembership.Rulename = $clientname

$collquery.AddMemberShipRule($newmembership)