次のコードは機能しているように見えますが、1 台のマシンだけで実行するには少し時間がかかります。また、オブジェクトが存在しない場合は完全にテストできません。プロセスを正しく行っているかどうか、またはこれを行うためのより簡単で高速な方法があるかどうかについて、アドバイスをいただければ幸いです。
$SCCMObj = get-wmiobject -query "select * from SMS_R_SYSTEM WHERE Name='$env:computername'" -computername [SMSServer] -namespace "ROOT\SMS\site_[SiteCode]"
$PSB = $SCCMObj.psbase
$PSBSR = $SCCMObj.psbase.syncroot
$PSBLgth = $SCCMObj.psbase.length
$SCCMArray = @($PSB, $PSBSR, $PSBLgth)
$SCCMArray | ForEach {If ($_ -ne $Null) {$SCCMObj.psbase.delete()}}
その目的は、DB に存在する任意またはすべての SCCM コンピューター オブジェクトを見つけ、PowerShell を介してそれぞれを削除することです。コードの出典: http://marco-difeo.de/2011/08/02/sccm-delete-computer-object-via-powershell-and-wmi/ どうも ありがとうございました!