webForumDet fria alternativet

ADSI, användarkonton och TS

.NET

0 svar · 228 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

Jag använder följande kod för att lägga till nya användare i Win2000:

Public Function AddUserAccount(ServerName, UserName, Password, SelGroup)
Const UF_SCRIPT = &H1
Const UF_ACCOUNTDISABLE = &H2
Const UF_HOMEDIR_REQUIRED = &H8
Const UF_LOCKOUT = &H10
Const UF_PASSWD_NOTREQD = &H20
Const UF_PASSWD_CANT_CHANGE = &H40
Const UF_TEMP_DUPLICATE_ACCOUNT = &H100
Const UF_NORMAL_ACCOUNT = &H200
Const UF_INTERDOMAIN_TRUST_ACCOUNT = &H800
Const UF_WORKSTATION_TRUST_ACCOUNT = &H1000
Const UF_SERVER_TRUST_ACCOUNT = &H2000
Const UF_DONT_EXPIRE_PASSWD = &H10000
Const UF_MNS_LOGON_ACCOUNT = &H20000
Dim NewUser
Dim GroupObj

    AddUserAccount = True
    Set ComputerObj = GetObject("WinNT://" & ServerName)
        
        If Err.Number <> 0 Then
            AddUserAccount = False
            Exit Function
        End If
        On Error Resume Next
        Set NewUser = ComputerObj.Create("User", UserName)
        On Error Resume Next
        NewUser.SetInfo
        
        If Err.Number <> 0 Then
            AddUserAccount = False
            Exit Function
        End If
        NewUser.SetPassword (Password)
        NewUser.FullName = UserName
        NewUser.Description = UserName

        ' Set Additional Account Properties
        flags = NewUser.Get("UserFlags")
        NewUser.Put "UserFlags", flags Or UF_PASSWD_CANT_CHANGE Or UF_DONT_EXPIRE_PASSWD
        NewUser.SetInfo

        If Err.Number <> 0 Then
            AddUserAccount = False
            Exit Function
        End If

        ' Set Group
        Set GroupObj = GetObject("WinNT://" & ServerName & "/" & SelGroup)
        GroupObj.Add ("WinNT://" & ServerName & "/" & UserName)

        If Err.Number <> 0 Then
            AddUserAccount = False
            Exit Function
        End If

        Set GroupObj = Nothing
        Set NewUser = Nothing
        Set ComputerObj = Nothing

End Function

koden fungerar utmärkt MEN, Terminal Services är "enabled" efter att kontot har skapats. Finns det någon "flag" för att få bort det? Någon som vet eller kan sätta mig på rätt spår på MSDN?

280 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
148 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)