.NET Framework Class Library
ManagementScope Class
Represents a scope (namespace) for management operations.
Inheritance Hierarchy
System.Object
System.Management.ManagementScope
Namespace: System.Management
Assembly: System.Management (in System.Management.dll)
Syntax
Visual Basic
Public Class ManagementScope _ Implements ICloneable
C#
public class ManagementScope : ICloneable
Visual C++
public ref class ManagementScope : ICloneable
F#
type ManagementScope = class interface ICloneable end
The ManagementScope type exposes the following members.
Constructors
| Name | Description | |
|---|---|---|
|
ManagementScope() | Initializes a new instance of the ManagementScope class, with default values. This is the default constructor. |
|
ManagementScope(ManagementPath) | Initializes a new instance of the ManagementScope class representing the specified scope path. |
|
ManagementScope(String) | Initializes a new instance of the ManagementScope class representing the specified scope path. |
|
ManagementScope(ManagementPath, ConnectionOptions) | Initializes a new instance of the ManagementScope class representing the specified scope path, with the specified options. |
|
ManagementScope(String, ConnectionOptions) | Initializes a new instance of the ManagementScope class representing the specified scope path, with the specified options. |
Properties
| Name | Description | |
|---|---|---|
|
IsConnected | Gets a value indicating whether the ManagementScope is currently bound to a WMI server and namespace. |
|
Options | Gets or sets options for making the WMI connection. |
|
Path | Gets or sets the path for the ManagementScope. |
Methods
| Name | Description | |
|---|---|---|
|
Clone | Returns a copy of the object. |
|
Connect | Connects this ManagementScope to the actual WMI scope. |
|
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
|
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
|
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
|
GetType | Gets the Type of the current instance. (Inherited from Object.) |
|
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
|
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Explicit Interface Implementations
| Name | Description | |
|---|---|---|
|
ICloneable.Clone | Creates a new object that is a copy of the current instance. |
Examples
The following example initializes a new ManagementScope with a specific path and then connects the scope object to a WMI namespace. The example connects to a namespace on a remote computer.
Visual Basic
Imports System Imports System.Management Public Class RemoteConnect Public Overloads Shared Function Main( _ ByVal args() As String) As Integer ' Build an options object for the remote connection ' if you plan to connect to the remote ' computer with a different user name ' and password than the one you are currently using ' Dim options As ConnectionOptions ' options = new ConnectionOptions() ' Then set the options.Username and ' options.Password properties to the correct values ' and also set ' options.Authority = "ntdlmdomain:DOMAIN" ' and replace DOMAIN with the remote computer's ' domain. You can also use kerberose instead ' of ntdlmdomain. ' Make a connection to a remote computer. ' Replace the "FullComputerName" section of the ' string "\\FullComputerName\root\cimv2" with ' the full computer name or IP address of the ' remote computer. Dim scope As ManagementScope scope = New ManagementScope( _ "\\FullComputerName\root\cimv2") scope.Connect() ' Use this code if you are connecting with a ' different user name and password: ' ' Dim scope As ManagementScope ' scope = New ManagementScope( _ ' "\\FullComputerName\root\cimv2", options) ' scope.Connect() ' Query system for Operating System information Dim query As ObjectQuery query = New ObjectQuery( _ "SELECT * FROM Win32_OperatingSystem") Dim searcher As ManagementObjectSearcher searcher = _ New ManagementObjectSearcher(scope, query) Dim queryCollection As ManagementObjectCollection queryCollection = searcher.Get() Dim m As ManagementObject For Each m In queryCollection ' Display the remote computer information Console.WriteLine("Computer Name : {0}", _ m("csname")) Console.WriteLine("Windows Directory : {0}", _ m("WindowsDirectory")) Console.WriteLine("Operating System: {0}", _ m("Caption")) Console.WriteLine("Version: {0}", m("Version")) Console.WriteLine("Manufacturer : {0}", _ m("Manufacturer")) Next Return 0 End Function End Class
C#
using System; using System.Management; public class RemoteConnect { public static void Main() { /*// Build an options object for the remote connection // if you plan to connect to the remote // computer with a different user name // and password than the one you are currently using ConnectionOptions options = new ConnectionOptions(); // and then set the options.Username and // options.Password properties to the correct values // and also set // options.Authority = "ntdlmdomain:DOMAIN"; // and replace DOMAIN with the remote computer's // domain. You can also use kerberose instead // of ntdlmdomain. */ // Make a connection to a remote computer. // Replace the "FullComputerName" section of the // string "\\\\FullComputerName\\root\\cimv2" with // the full computer name or IP address of the // remote computer. ManagementScope scope = new ManagementScope( "\\\\FullComputerName\\root\\cimv2"); scope.Connect(); // Use this code if you are connecting with a // different user name and password: // // ManagementScope scope = // new ManagementScope( // "\\\\FullComputerName\\root\\cimv2", options); // scope.Connect(); //Query system for Operating System information ObjectQuery query = new ObjectQuery( "SELECT * FROM Win32_OperatingSystem"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope,query); ManagementObjectCollection queryCollection = searcher.Get(); foreach ( ManagementObject m in queryCollection) { // Display the remote computer information Console.WriteLine("Computer Name : {0}", m["csname"]); Console.WriteLine("Windows Directory : {0}", m["WindowsDirectory"]); Console.WriteLine("Operating System: {0}", m["Caption"]); Console.WriteLine("Version: {0}", m["Version"]); Console.WriteLine("Manufacturer : {0}", m["Manufacturer"]); } } }
Version Information
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Platforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.See Also