相关疑难解决方法(0)

为什么WellKnownSidType有时无法转换为sid/account?

问题:我正在查找每个WellKnownSidType枚举成员的帐户名称和SID,如下所示.

为什么有时会失败?
为什么有时会将WellKnownSidType转换为sid失败?
据我了解,只有从sid到accountname的转换有时会失败,甚至只有当帐户不是本地而不是域时才会失败.



例如,在将enum LogonIdsSid转换为SID时,我得到:
Bekannte SIDs des TypsLogonIdsSidkönnennichterstellt werden.
(无法创建LogonIdsSid类型的已知SID.)

或者在查找NTAuthoritySid的
帐户名时,我得到:Manche oderallestatitätsverweisekontentenichtübersetztwerden.
(部分或全部的标识 - 引用无法翻译.)

Sub Main()
    Enumerations.SidInfo(Of System.Security.Principal.WellKnownSidType)()
End Sub

Public Class Enumerations

   Public Shared Sub SidInfo(Of T)()
        Dim enumType As Type = GetType(T)


        For Each ThisEnumValue As T In System.Enum.GetValues(GetType(T))
            Try
                Console.WriteLine("Enum: System.Security.Principal.WellKnownSidType." + System.Enum.Format(GetType(T), ThisEnumValue, "G"))
                Dim enumItem1 As System.Reflection.FieldInfo = enumType.GetField(System.Enum.Format(GetType(T), ThisEnumValue, "G"))
                Dim enumValue1 As T = CType(enumItem1.GetValue(enumType), T)
                Dim sid As System.Security.Principal.SecurityIdentifier = New System.Security.Principal.SecurityIdentifier(CType(CType(enumValue1, Object), System.Security.Principal.WellKnownSidType), Nothing)
                Console.WriteLine("SID: " + …
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net asp.net permissions

2
推荐指数
1
解决办法
4996
查看次数

标签 统计

.net ×1

asp.net ×1

c# ×1

permissions ×1

vb.net ×1