勇芳软件工作室.汉化:  Windows Management Instrumentation > Scripting API for WMI > Scripting API Objects > SWbemServices >

Delete Method

Previous pageReturn to chapter overviewNext page

描述

 

SWbemServices对象的删除方法会删除对象路径中指定的类或实例。您只能删除当前命名空间中的对象。

 

如果动态提供程序提供类或实例,则除非提供程序支持类或实例删除,否则不能删除此对象。

 

该方法在同步模式下被调用。有关详细信息,请参阅调用方法.

 

以下语法是语言中立的。有关此语法的说明,请参阅脚本API的文档约定.

 

PowerBASIC 语法

 

METHOD Delete_ ( _

BYVAL strObjectPath AS WSTRING, _

OPTIONAL BYVAL iFlags AS LONG, _

OPTIONAL BYVAL objWbemNamedValueSet AS IDispatch _

)

 

参数

 

strObjectPath

 

需要。包含要删除的对象的对象路径的字符串。有关详细信息,请参阅描述WMI对象的位置.

 

iFlags

 

保留,如果指定,则必须为0(零)。

 

objWbemNamedValueSet

 

通常,这是未定义的。否则,这是一个SWbemNamedValueSet对象,其元素表示服务请求的提供者可以使用的上下文信息。支持或要求此类信息的提供者必须记录识别的值名称,值的数据类型,允许的值和语义。

 

OBJRESULT

 

错误(名称/十进制/十六进制)

含义

wbemErrAccessDenied

-2147217405

&H80041003

当前上下文没有足够的安全权限删除该对象。

wbemErrFailed

-2147217407

&H80041001

未指定错误

wbemErrInvalidClass

-2147217392

&H80041010

指定的类不存在。

wbemErrInvalidOperation

-2147217386

&H80041016

对象无法删除。

wbemErrNotFound

-2147217406

&H80041002

对象不存在。

wbemErrOutOfMemory

-2147217402

&H80041006

没有足够的内存来完成操作。

 

示例代码[VBScript]

 

以下示例创建一个新类,添加不是键的属性,将新类写入存储库,并显示新类对象的路径。然后,脚本生成新类的实例,写入实例并显示路径。请注意,脚本通过删除类从存储库中删除类及其实例。有关WMI类和实例的更多信息,请参阅操纵类和实例信息共同信息模型.

 

wbemCimtypeSint32 = 3

设置objSWbemService = GetObject(“Winmgmts:root \\ default”)

设置objClass = objSWbemService.Get()

objClass.Path_.Class =“NewClass”

 

'添加一个属性

'整数财产

objClass.Properties_.Add“iProperty”,wbemCimtypeSint32en

objClass.Properties _(“iProperty”)。Qualifiers_.Add“key”,TRUE

 

'将新类写入存储库中的root \\ default命名空间

设置objClassPath = objClass.Put_

wscript.echo objClassPath.Path

 

'使用SWbemObject.SpawnInstance创建一个新类的实例

设置objNewInst = GetObject(_

 “Winmgmts:root \\ default:NewClass”)。SpawnInstance_

 

objNewInst.iProperty = 1000

 

'将实例写入仓库

设置objInstancePath = objNewInst.Put_

wscript.echo objInstancePath.Path

 

'从存储库中删除新的类和实例

objSWbemService.Delete("NewClass")

如果Err <>0然后

 WScript.Echo Err.Number &“  ”&错误描述

其他

 WScript.Echo“删除成功”

万一

 

'发布SwbemServices对象

设置objSWbemService =没有

 

备注

 

当对象的key属性没有赋值时,可以使用SWbemServices.Delete方法,因为该方法只需要一个对象路径作为输入。该方法可用于SWbemObject.Delete_由于缺少键值而失败的情况。如果对象通过SWbemObject.Put_提交给WMI,则通过该调用获得SWbemObjectPath对象。

 

要求

 

客户

需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95 OSR2及更高版本。

服务器

需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。

类型库

使用Wbemdisp.tlb。

Wbemdisp.inc。

DLL

需要Wbemdisp.dll。