SCCM 2007:使用WMI创build新的广告

我正在尝试使用Powershell创build一个新的广告。 我环顾四周,发现了一堆使用WMI的脚本。 在SMS_Advertisement类上使用Set-WMIInstance。 我可以做到这一点!

我的问题是,似乎有另一个类SMS_AdvertisementInfo 。 当我使用SCCM 2007控制台并创build一个新的广告时,这两个类都被更新并且具有新广告的内容。

我需要帮助了解stream程,似乎没有SMS_AdvertisementInfo类的任何文档,每个人都只是引用添加实例到SMS_Advertisement类。

我究竟做错了什么? 下面的代码从现有的代码构build新的广告。

# Get all the advertisements for the specific package $adv = Get-WmiObject -Namespace "root\SMS\$SMSSite" -Query "Select * from SMS_Advertisement WHERE PackageID = '$($pkg.PackageID)'" -ComputerName $SMSServer # Get SMS Parts for creating the new Advertisement: CollectionID, PackageID, Program $collectionID = (Get-WmiObject -Namespace "root\SMS\$SMSSite" -ComputerName $SMSServer -Query "Select * from SMS_Collection WHERE Name = '$AdvCollectionName'").CollectionID $packageID = (Get-WmiObject -Namespace "root\SMS\$SMSSite" -ComputerName $SMSServer -Query "Select PackageID from SMS_Package WHERE Name = '$PkgName'").PackageID $prg = Get-WmiObject -Namespace "root\SMS\$SMSSite" -ComputerName $SMSServer -Query "Select * from SMS_Program WHERE PackageID = '$($_.packageID)'" $adv[2] | ForEach-Object { # Build hashtable of arguments for the creation $arguments = @{ AdvertFlags = $_.AdvertFlags; AdvertisementName = "WIN7x64TEST - $($_.AdvertisementName)"; CollectionID = $collectionID; PackageID = $_.packageID; DeviceFlags = $_.DeviceFlags; ProgramName = "WIN7x64TEST - $($_.ProgramName)"; RemoteClientFlags = $_.RemoteClientFlags; SourceSite = $_.SourceSite; TimeFlags = $_.TimeFlags } } # Create the advertisement using the SMS_Advertisement WMI Class Set-WmiInstance -class SMS_Advertisement -arguments $arguments -namespace "root\SMS\$SMSSite" -ComputerName $SMSServer