當使用UI(SCCM 2012)時,爲了能夠刪除集合(比方說CollA),首先需要確保它不被任何規則鏈接到另一個集合(讓我們說CollB,等..),如:從命令行中刪除SCCM集合
- CollB包括科亞
- CollC排除科亞
在有很多藏品的處理,刪除了一個集合可能是費時。出於這個原因,我創建了一個腳本,
- 使用遠程以避免需要通過RDP連接
- 它會檢查科拉沒有規則左(即使如果我們想刪除這不是一個問題科亞)
- 用來檢查是否科亞被「鏈接」到其他收藏品(包括或排除規則)
- 其刪除發現的任何規則(CollB和科拉之間,CollC和科亞之間)
我現在堅持我不能t找到一種方法來刪除CollA。 對於身份驗證和遠程目的,我使用了很多Powershell和WMI。
$CollA=Get-WmiObject -computername servername -namespace root\sms\site_111 -credential $cred -query "select * from SMS_Collection where Name='Tartempion'"
$CollA.get()
在這一點上,我發現了一個方法Delete(),這時候我嘗試使用它,它給了我:
Exception calling "Delete" with "0" argument(s): "Generic failure "
At line:1 char:1
+ $coll.delete()
+ ~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
如果是這樣,我應該使用的方法,什麼是要傳遞的參數?
編輯1
正如指出的theMadTechnician的SCCM集合,曾經在$科拉,一個System.Management.ManagementObject檢索。 我應,如在MSDN頁所描述的,能夠使用下面的方法:
- 刪除()>產生高於
- 刪除(DeleteOptions)中提到的錯誤>我無法找到該規格所需的選項
- 刪除(ManagementOperationObserver)>我無法找到所需的選項
爲了確保我正確地理解關於MSDN頁* .Delete(),我試圖(成功)以下規格:
PS C:\> Set-WmiInstance -Class win32_environment -argument @{Name="testvar";VariableValue="testvalue";UserName="<SYSTEM>"}
PS C:\> (gwmi -class win32_environment -filter "Name='testvar'").gettype()
PS C:\> (gwmi -class win32_environment -filter "Name='testvar'").delete()
EDIT 2
事實是,通過控制檯刪除SCCM集合時,集合是沒有從清單中移除的唯一的事:例如在分配,太刪除。它在處理MySQL或ORACLE時提醒了CASCADE開關。也許是我想要做的是不可能的
- 不使用控制檯
- 不使用SCCM的cmdlet
如果不能那麼做,我只是需要確定。
編輯3
一些成熟後,我開始懷疑它可能是一個授權問題。我的意思是,我使用「-credential」開關的帳戶或連接到服務器時打開SCCM控制檯的帳戶允許我創建/更新/刪除集合,但是,例如,它不允許我刪除設備。我希望錯誤信息會有所不同,但誰知道?
或多或少的關於同樣的事情(抱歉的離題),試圖從命令行中刪除設備,我發現this和我有相同的錯誤信息(見上文)。如果它適用於其他人而不是我,它可能是授權相關的嗎?
EDIT 4
我請求的服務帳戶與更多的「特權」比我有我的技術客戶。 我測試過,並且發生同樣的錯誤。我拋開授權假設。
我假設它是一個你正在使用一個System.Management.ManagementObject,對不對?你檢出了[MSDN](http://msdn.microsoft.com/en-us/library/system.management.managementobject(v = vs.110).aspx)頁面來查看方法以及如何調用它們爲了它? – TheMadTechnician
查看已更新的問題,跟隨您的潛在客戶, – projetnumero9