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 |
|
DLL |
|