Win32_Directory 类的 TakeOwnerShipEx 方法

TakeOwnerShipExWMI 类方法获取对象路径中指定的逻辑目录条目文件的所有权。 此方法是 TakeOwnerShip 方法的扩展版本。 如果逻辑文件实际上是一个目录,则此方法以递归方式操作,获取目录包含的所有文件和子目录的所有权。

本主题使用托管对象格式 (MOF) 语法。 有关使用此方法的详细信息,请参阅 调用方法

语法

uint32 TakeOwnerShipEx(
  [out]          string  StopFileName,
  [in, optional] string  StartFileName,
  [in, optional] boolean Recursive
);

参数

StopFileName [out]

TakeOwnerShipEx 方法失败的文件或目录的名称。 如果方法成功,此参数为 NULL

StartFileName [in, optional]

命名要用作 TakeOwnerShipEx 起点的子文件或目录。 StartFileName 参数通常是 StopFileName 参数,用于指定上一方法调用中发生错误的文件或目录。 如果此参数为 NULL,则对 ExecMethod 调用中指定的文件或目录执行操作。

如果使用 StartFileName ,则 Recursive 也必须设置为 true。

递归 [in, 可选]

如果 为 True,则所有权更改以递归方式应用于 CIM_LogicalFile 实例指定的目录中的文件和目录。

注意

对于文件实例,递 输入参数将被忽略。

返回值

返回一个整数值 0 (零) 成功,并返回任何其他数字以指示错误。

0

请求已成功。

2

访问被拒绝。

8

发生未指定的故障。

9

指定的名称无效。

10

指定的对象已存在。

11

文件系统不是 NTFS。

12

平台不是 Windows。

13

驱动器不同。

14

目录不为空。

15

存在共享冲突。

16

指定的启动文件无效。

17

不保留操作所需的特权。

21

指定的参数无效。

示例

以下 Visual Basic 脚本代码调用 TakeOwnerShipEx 方法获取 C:\temp 文件夹的所有权。

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
' Obtain the definition of the class.
Set objShare = objWMIService.Get("Win32_Directory")
' Obtain an InParameters object specific
' to the method.
Set objInParam = objShare.Methods_("TakeOwnerShipEx").inParameters.SpawnInstance_()

' Add the input parameters.
objInParam.Properties_.Item("Recursive") =  true

' Execute the method and obtain the return status.
' The OutParameters object in objOutParams
' is created by the provider.
Set objOutParams = objWMIService.ExecMethod("Win32_Directory.Name='C:\Temp'", "TakeOwnerShipEx", objInParam)
wscript.echo objOutParams.ReturnValue

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
命名空间
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另请参阅

操作系统类

Win32_Directory