TakeOwnerShipEx method of the Win32_Directory class

The TakeOwnerShipEx WMI class method obtains ownership of the logical directory entry file specified in the object path. This method is an extended version of the TakeOwnerShip method. If the logical file is actually a directory, then this method acts recursively, taking ownership of all of the files and subdirectories the directory contains.

This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see Calling a Method.

Syntax

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

Parameters

StopFileName [out]

Name of the file or directory where the TakeOwnerShipEx method failed. This parameter is NULL if the method succeeds.

StartFileName [in, optional]

Names the child file or directory to use as a starting point for TakeOwnerShipEx. The StartFileName parameter is typically the StopFileName parameter that specifies the file or directory at which an error occurred from the previous method call. If this parameter is NULL, the operation is performed on the file or directory specified in the ExecMethod call.

If StartFileName is used, Recursive must be set to true as well.

Recursive [in, optional]

If True, the change of ownership is applied recursively to files and directories within the directory specified by the CIM_LogicalFile instance.

Note

For file instances, the Recursive input parameter is ignored.

Return value

Returns an integer value of 0 (zero) on success, and any other number to indicate an error.

0

The request was successful.

2

Access was denied.

8

An unspecified failure occurred.

9

The name specified was not valid.

10

The object specified already exists.

11

The file system is not NTFS.

12

The platform is not Windows.

13

The drive is not the same.

14

The directory is not empty.

15

There has been a sharing violation.

16

The start file specified was not valid.

17

A privilege required for the operation is not held.

21

A parameter specified is not valid.

Examples

The following Visual Basic Script code calls the TakeOwnerShipEx method to take ownership of the C:\temp folder.

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

Requirements

Requirement Value
Minimum supported client
Windows Vista
Minimum supported server
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

See also

Operating System Classes

Win32_Directory