Server.EnumWindowsUserInfo Method (String, Boolean)

Enumerates a list of information about all Microsoft Windows users that have explicitly granted access to the instance of SQL Server and with the option to list all the permissions paths (groups) through which the user has been granted access to the instance of SQL Server.

Namespace:  Microsoft.SqlServer.Management.Smo
Assembly:  Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)

Syntax

'Declaration
Public Function EnumWindowsUserInfo ( _
    account As String, _
    listPermissionPaths As Boolean _
) As DataTable
'Usage
Dim instance As Server
Dim account As String
Dim listPermissionPaths As Boolean
Dim returnValue As DataTable

returnValue = instance.EnumWindowsUserInfo(account, _
    listPermissionPaths)
public DataTable EnumWindowsUserInfo(
    string account,
    bool listPermissionPaths
)
public:
DataTable^ EnumWindowsUserInfo(
    String^ account, 
    bool listPermissionPaths
)
member EnumWindowsUserInfo : 
        account:string * 
        listPermissionPaths:bool -> DataTable 
public function EnumWindowsUserInfo(
    account : String, 
    listPermissionPaths : boolean
) : DataTable

Parameters

  • account
    Type: System.String
    A String value that specifies a Windows user account on which to limit the results.
  • listPermissionPaths
    Type: System.Boolean
    A Boolean value that specifies whether to list the all the permissions paths (other groups) through which the user has been granted access to the instance of SQL Server.
    If True, the permissions paths are listed.
    If False, the permissions paths are not listed.

Return Value

Type: System.Data.DataTable
A DataTable object value that contains a list of Windows users that have explicitly granted access to the instance of SQL Server. The table describes the different columns of the returned DataTable.

Column

Data type

Description

account name

String

The name of the Windows NT user. NT AUTHORITY\SYSTEM, for example.

type

String

The type of user. This specifies whether the user is an individual account or a group account.

Examples

C#

Server srv = new Server("(local)");

DataTable d = srv.EnumWindowsUserInfo("NT AUTHORITY\\System", false);
foreach (DataRow r in d.Rows)
{
   Console.WriteLine("============================================");
   foreach(DataColumn c in d.Columns)
   {
      Console.WriteLine(c.ColumnName + " = " + r[c].ToString());
   }
}

PowerShell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")

$d = $srv.EnumWindowsUserInfo("NT AUTHORITY\System", $FALSE)
foreach ($r in $d.Rows)
{
   Write-Host "============================================"
   Foreach ($c in $d.Columns)
   {
      Write-Host $c.ColumnName "=" $r[$c]
   }
}