[WSript/vbs] Groupname ipv username

Pagina: 1
Acties:

  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
Ik heb nu gewoon werkend het volgende:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Set WshNetwork = CreateObject("WScript.Network")

Select Case WshNetWork.UserName
    Case "a.michel"
        Dim MyFile, Fs, Ts, Tsr, ReadedLines
            
        MyFile = "z:/log.txt"
    
        Set Fs = CreateObject("Scripting.FileSystemObject")
        Set Tsr = Fs.OpenTextFile(MyFile, 1)

        'Bestand wordt nu uitgelezen
        '----------------------------------------------
        Do While Tsr.AtEndOfStream = False
             ReadedLines = Tsr.Readline & vbCrLf
        loop
        Tsr.Close

        'Nu nieuwe Textstream openen voor het schrijven
        '----------------------------------------------
        Set Ts = Fs.OpenTextFile(MyFile, 2, True)

        Ts.Write ReadedLines
            Ts.Write WshNetWork.UserName & " Logged op " & Now() & vbCrLf
            Ts.Close
        'Je bent nu klaar alleen de objecten afsluiten
        '----------------------------------------------
        Set Tsr = Nothing
        Set Ts = Nothing
        Set Fs = Nothing

        PrinterPath = "\\Obs\Brother Boven_1"
        PrinterDriver = "\\obs\MSI\printer\Brother1\Brother1.msi"
        WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
        WshNetwork.SetDefaultPrinter"\\obs\Brother Boven_1"
    Case Else
        PrinterPath = "\\Obs\HPlaserj"
        PrinterDriver = "\\obs\MSI\printer\printer.msi"
        WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
        WshNetwork.SetDefaultPrinter"\\obs\HPlaserJ"        
End Select

Set WshNetwork = Nothing


Dit .vbs scriptje word automatisch uitgevoerd door de active directory bij de login, ik wil alleen dat ik dit per groep kan kiezen. Dus Case "groep1" en case "groep2"

ik heb me rot geocht maar bestaat het niet ofzo 8)7 anyway ik hoop dat jullie me kunnen helpen om een manier te vinden om hier de select op groupname te krijgen, want 200 gebruikers omzetten is geen werk.

Verwijderd

Je zult waarschijnlijk een Active Directory moeten queryen om achter de bij de user behorende groepen te komen. Zie ook http://msdn.microsoft.com...d/ad/active_directory.asp

Succes :)

  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
Ja daar was ik ook net achter, maar kan zelfs op die url niet vinden hoe ik dit moet doen in het scirpt, wel tekst, maar dan weet ik nog niet wat ik moet invoeren.
Ik had zon script gevonden, maar die haalde alleen je domain naam, dat schiet dus niet op.

Toch nog iemand die de oplossing weet?

  • semicon
  • Registratie: Augustus 2003
  • Laatst online: 20-08-2025
*Subtielie kick


O-)

  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 08:34
Visual Basic .NET:
1
2
3
4
5
6
    Set objNet      = CreateObject("Wscript.Network")
    Set objNTUser   = GetObject("WinNT://[Domain]/[Username],user")
    Set objGroupDic = CreateObject("Scripting.Dictionary")
    For Each objGroup In objNTUser.Groups
      wscript.echo objGroup.Name
    Next


of via LDAP:
Visual Basic .NET:
1
2
3
4
5
6
Set objADSystemInfo    = CreateObject("ADSystemInfo")
Set objUser            = GetObject ("LDAP://" & objADSystemInfo.UserName)

For each Group in objUser.Groups
  wscript.echo group.name)
Next

[ Voor 34% gewijzigd door jvdmeer op 06-02-2004 17:26 ]