DiskQuotaControl.TranslateLogonNameToSID 方法

将登录名转换为字符串格式的相应用户安全 ID。

语法

DiskQuotaControl.TranslateLogonNameToSID(
  logonname
)

参数

logonname

类型: 字符串

一个指定用户登录名的字符串值。

返回值

以字符串格式返回与提供的登录名对应的用户安全 ID (SID) 。 返回的字符串包括标准封闭大括号。 例如:

“{S-1-5-21-2127521184-1604012920-1887927527-19009}”

备注

返回的 SID 字符串可以传递到 FindUser 方法,以取代登录名。

当调用 FindUser ( logonname) 方法失败时,可能是由于表单 ((例如,安全帐户管理器 [SAM] 兼容和用户主体名称 [UPN]) 提供的登录名与 SID 名称缓存中存储的表单之间的不匹配。 在这种情况下,登录名可以转换为 SID,并重复调用 FindUserFindUser 可识别 SID 字符串,并绕过 SID 名称缓存查找。 以下 Microsoft Visual Basic Scripting Edition (VBScript) 代码演示了此方法。

Function Find(dqc, name)
    On Error Resume Next
    SET Find = dqc.FindUser(name)

    If Err.Number <> 0 Then
        Err.Clear
        SET Find = dqc.FindUser(dqc.TranslateLogonNameToSID(name))
    End If    

End Function

与 SID 名称缓存中的查找相比,名称到 SID 的转换过程可能很慢。 因此,建议首先使用登录名调用 FindUser 。 上面的示例使用此方法。

要求

要求
最低受支持的客户端
Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
DLL
Shell32.dll (5.0 或更高版本)

另请参阅

DiskQuotaControl 对象