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, 可选]

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

如果使用 StartFileName则递归 也必须设置为 true。

递归 [in, 可选]

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

注意

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

返回值

返回一个整数值 0 (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