Avatar billede bfjmnemonic Nybegynder
13. september 2004 - 13:54 Der er 6 kommentarer og
2 løsninger

Hjælp til ADSI

Jeg har nedenstående kode, som skal checke om en bruger er i lokaladministrator gruppen.

Problemet er at strUser er i formatte "domain\username"
og objLocalAdmin.Name er i formatet "username"

Hvordan løser jeg dette, for der kan jo godt være en anden bruger der hedder det samme oprettet lokalt, som også er i administrator gruppen.

Yderligere vil jeg gerne vide hvordan jeg kan finde ud af hvilke andre labels ud over "Name" jeg kan hente ud.


'-------- Kode ------------------
Sub SetAdminRights
   
    Dim objLocalGroup, objLocalAdmin
   
    Set objLocalGroup = GetObject("WinNT://./Administrators,group")

'Check if the username is added directly to the local admin group
    For Each objLocalAdmin In objLocalGroup.Members
        If LCase(strUser) = LCase(objLocalAdmin.Name) Then
              WScript.Echo "JAAA"
        Else
              WScript.Echo "NOOO"
              WScript.Echo "USER: " & strUser
              WScript.Echo "MEMBER: " & objLocalAdmin.Name
        End If
    Next
    Set objLocalGroup = Nothing
End Sub
Avatar billede ttopholm Nybegynder
14. september 2004 - 20:55 #1
sætter det her ind:
splitstruser = split(strUser, "\")
struser = splituser(1)

Det kan være der skal være 2 \\ i
splitstruser = split(strUser, "\") så den ser sådan ud:
splitstruser = split(strUser, "\\")
Avatar billede bfjmnemonic Nybegynder
15. september 2004 - 16:50 #2
Det hjælper ikke.

Så får jeg også positiv hvis der er en lokal bruger i gruppen med samme navn, eller hvis en bruger fra et andet domain med samme navn er i gruppen.
Avatar billede maximus25 Nybegynder
08. oktober 2004 - 20:47 #3
Hejsa  bfjmnemonic
hvis jeg var dig ville jeg benytte en anden fremgangsmåde:

Dim WSHNetwork
Dim strUserName ' Current user
Dim strUserDomain ' Current User's domain name
Dim ObjGroupDict ' Dictionary of groups to which the user belongs

Set WSHNetwork = WScript.CreateObject("WScript.Network")
strUserName = WSHNetwork.UserName
strUserDomain = WSHNetwork.UserDomain

' Read the user's account "Member Of" tab info across the network
' once into a dictionary object.
Set ObjGroupDict = CreateMemberOfObject(strUserDomain, strUserName)
If MemberOf(ObjGroupDict, "Administrators") Then  'use the relevant group name

End If



hvis brugeren er medlem af lokal admin gruppen så hopper den ind i if sætningen ellers ikke.

Håber du kan bruge det:):)
Avatar billede bfjmnemonic Nybegynder
09. oktober 2004 - 23:50 #4
Jeg tester det snarrest muligt .. Tak for dit indlæg :)
Avatar billede maximus25 Nybegynder
17. oktober 2004 - 09:52 #5
fik du det til at virke?
Avatar billede maximus25 Nybegynder
11. november 2004 - 09:08 #6
hva så virker det?
Avatar billede bfjmnemonic Nybegynder
18. marts 2005 - 10:31 #7
HEHE .. Undskyld den lange ventetid .. Jeg har lidt travlt for tiden..

Jeg forsøgte nedensåtende kode:
Dim WSHNetwork
Dim strUserName ' Current user
Dim strUserDomain ' Current User's domain name
Dim ObjGroupDict ' Dictionary of groups to which the user belongs

Set WSHNetwork = WScript.CreateObject("WScript.Network")
strUserName = WSHNetwork.UserName
strUserDomain = WSHNetwork.UserDomain

' Read the user's account "Member Of" tab info across the network
' once into a dictionary object.
Set ObjGroupDict = CreateMemberOfObject(strUserDomain, strUserName)
If MemberOf(ObjGroupDict, "Administrators") Then  'use the relevant group name
    WScript.Echo "JAAA"
Else
    WScript.Echo "NOO"
End If

Fik følgende fejl:
Type mismatch: 'CreateMemberOfObject'

Nogen Ideer?
Avatar billede maximus25 Nybegynder
25. maj 2005 - 12:36 #8
Hejsa  bfjmnemonic

Jeg fandt resten af eksemplet som jeg har brugt...det virker:):)

http://cwashington.netreach.net/depo/comments.asp?Index=1028&author=parcival@gmail.com&action=view

Håber du kan bruge det...bedre sent end aldrig:):)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester