Метод EnumWindowsUserInfo (String, Boolean)
Перечисляет список данных обо всех пользователях Microsoft Windows с явно предоставленным доступом к экземпляру SQL Server и возможностью включения в список всех путей (групп) разрешений, с помощью которых пользователь получает доступ к экземпляру SQL Server.
Пространство имен: Microsoft.SqlServer.Management.Smo
Сборка: Microsoft.SqlServer.Smo (в Microsoft.SqlServer.Smo.dll)
Синтаксис
'Декларация
Public Function EnumWindowsUserInfo ( _
account As String, _
listPermissionPaths As Boolean _
) As DataTable
'Применение
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
Параметры
- account
Тип: System. . :: . .String
Значение String, указывающее учетную запись группы Windows, для которой следует ограничить результаты.
- listPermissionPaths
Тип: System. . :: . .Boolean
Значение Boolean, указывающее, перечислять ли все пути (другие группы) разрешений, через которые пользователю предоставлен доступ к экземпляру SQL Server.
Значение True показывает, что пути разрешений перечисляются.
Значение False показывает, что пути разрешений не перечисляются.
Возвращаемое значение
Тип: System.Data. . :: . .DataTable
Значение системного объекта DataTable, содержащее список пользователей Windows, которым явно был предоставлен доступ к экземпляру SQL Server. В следующей таблице приводится описание различных столбцов возвращаемого набора DataTable.
Примеры
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]
}
}
См. также