Avatar billede drukkenbolden Nybegynder
31. august 2004 - 11:50 Der er 34 kommentarer og
1 løsning

hvem er logget på

Hejsa

Jeg er ny i VB6, men er i gang med at lave en lille applikation som kan fortælle mig hvem der er loggede ind på min server (Domæne controller), jeg vil gerne vide, username, maskine, ip adresse, tid de er logget på

Er der nogen der ved hvordan jeg kan trække disse info ud.

Jeg vil meget gerne have vb kode, og ikke vbs kode !

Jeg ser frem til at høre fra jer :)
Avatar billede martin_moth Mester
31. august 2004 - 11:58 #1
Der er en søgefunktion...
Avatar billede tubber Juniormester
31. august 2004 - 12:02 #2
Jeg mener du skal ud i noget ADSI for at kunne chekke domain users.....

Jeg har lavet et login på et tidspunkt for at kunne logge ind på en DC.....
Og der brugte jeg ADSI.......

Kigger lige lidt på MS Platform SDK der er noget ADSI der på.....
Avatar billede martin_moth Mester
31. august 2004 - 12:06 #4
Arhhhhh - doh. Du taler om en server, ikke din egen maskine. Så ved jeg ikke hvor meget af det jeg har der kan bruges.

Dummeslag til mig!
Avatar billede drukkenbolden Nybegynder
31. august 2004 - 12:10 #5
martin moth >> kunne heller ikke lige forstå det, blev helt rundt på gulvet ! :O)
Avatar billede tubber Juniormester
31. august 2004 - 12:32 #6
On Error Resume Next

Dim adsComputer, adsSession, strOutput

strOutput = ""

Set adsComputer = GetObject("WinNT://mydomainorworkgroup/mycomputer/LanManServer")

For Each adsSession In adsComputer.Sessions
    strOutput = strOutput & "Session Object Name    : " & adsSession.Name & vbCrLf
    strOutput = strOutput & "Client Computer Name    : " & adsSession.Computer & vbCrLf
    strOutput = strOutput & "Seconds connected      : " & adsSession.ConnectTime & vbCrLf
    strOutput = strOutput & "Seconds idle            : " & adsSession.IdleTime & vbCrLf
    strOutput = strOutput & "Connected User          : " & adsSession.User & vbCrLf
    strOutput = strOutput & vbCrLf
Next
Avatar billede drukkenbolden Nybegynder
31. august 2004 - 12:34 #7
tubber, kan du give mig et komplet copy paste eksempel på hvordan jeg får eks.listet dette i en txtbox ?
Avatar billede tubber Juniormester
31. august 2004 - 12:34 #8
og så skal du bruge referencen ADS

active DS Type Library
Avatar billede drukkenbolden Nybegynder
31. august 2004 - 12:36 #9
og hvad skal lanmanserver værdien være ?
Avatar billede tubber Juniormester
31. august 2004 - 12:37 #10
hmmm det viste sig det var noget vbs, har hele vbs filen, men den skulle kunne bruges mere eller mindre direkte.....
Avatar billede tubber Juniormester
31. august 2004 - 12:38 #11
Avatar billede tubber Juniormester
31. august 2004 - 12:38 #12
ser lige om jeg kan finde et vb udgave af det
Avatar billede drukkenbolden Nybegynder
31. august 2004 - 12:40 #13
det ville være så stærkt, jeg har aldrig rodet med api osv samt moduler, er meget newbie.
Avatar billede tubber Juniormester
31. august 2004 - 13:04 #14
Microsoft Visual Basic

Microsoft Visual Basic is ideal for developing applications or prototypes.

To set up Visual Basic Project, follow this easy step-by-step instruction:

Launch Visual Basic.

Select the type of project you would like to create.

Select Project | References.

Make sure to check the Active DS type Library as shown below. If you don't need early COM object binding, this process is not necessary.



Now you're ready to start ADSI programming.


A simple Visual Basic sample: Modifying FullName and Description on a user

Before we start, you must log on to a Windows NT domain. You must also have permission to modify a Windows NT 4.0 directory database. Administrator, by default, has this privilege.

Follow steps above to create a standard executable VB project.

Double-click the Form.

On Form_Load, type:

'------------------------------------------------------------
' This program is used to set FullName and Description in a user
'------------------------------------------------------------
Dim usr As IADsUser

dom = "YOURDOMAIN" 'Replace with your domain

'----Binding to a user object
'----Note the ',user' is optional. It's used for performance
Set usr = GetObject("WinNT://" & dom & "/Administrator")

usr.FullName = "James Smith"
usr.Description = "Administrator for " & dom
usr.SetInfo 'Commit the changes to DS
Avatar billede tubber Juniormester
31. august 2004 - 13:17 #15
her skulle den være:

Referencen Active DS Type Library

Dim adsFSOps As IADsFileServiceOperations
Dim adsSession As IADsSession
Dim adsSessions As IADsCollection
' Replace DOMAIN & SERVER with the appropriate domain and server names
Set adsFSOps = GetObject("WinNT://DOMAIN/SERVER/lanmanserver")
' Enumerate sessions
Set adsSessions = adsFSOps.Sessions
For Each adsSession In adsSessions
  Debug.Print "User: " & adsSession.User & "  Computer:  " & adsSession.Computer
Next adsSession
Avatar billede tubber Juniormester
31. august 2004 - 13:19 #16
Skal de f.eks. i en listbox kan det se sådan her ud:

Dim adsFSOps As IADsFileServiceOperations
Dim adsSession As IADsSession
Dim adsSessions As IADsCollection
' Replace DOMAIN & SERVER with the appropriate domain and server names
Set adsFSOps = GetObject("WinNT://DOMAIN/SERVER/lanmanserver")
' Enumerate sessions
Set adsSessions = adsFSOps.Sessions
For Each adsSession In adsSessions
List1.AddItem ("User: " & adsSession.User)
List1.AddItem ("Computer: " & adsSession.Computer
List1.AddItem ("")
Next adsSession
Avatar billede tubber Juniormester
31. august 2004 - 13:20 #17
Ved godt jeg har smidt meget forskelligt, men har ikke en DC jeg kan teste på....
Avatar billede drukkenbolden Nybegynder
31. august 2004 - 13:39 #18
tubber>> 1000 tak for din store hjælp. Jeg ved godt at det er meget og spørge om men hvis jeg smider, nogle ekstra point oven i hatten kan du så lige lave en guide, du ved start vb, lav et modul, indsæt dette kode osv.
Avatar billede tubber Juniormester
31. august 2004 - 13:44 #19
Det koster ikke ekstra......

Start vb og vælg standard exe
her går du ind i Project -> references og sætter flueben i Active DS Type Library
Så laver du en listbox
du laver en knap
du dobbeltklikker på knappen og sætter koden ind under

Option Explicit 'Gør du SKAL dimme dine variabler
Dim adsFSOps As IADsFileServiceOperations
Dim adsSession As IADsSession
Dim adsSessions As IADsCollection

Command_Click()
' Replace DOMAIN & SERVER with the appropriate domain and server names
Set adsFSOps = GetObject("WinNT://DOMAIN/SERVER/lanmanserver")
' Enumerate sessions
Set adsSessions = adsFSOps.Sessions
For Each adsSession In adsSessions
List1.AddItem ("User: " & adsSession.User)
List1.AddItem ("Computer: " & adsSession.Computer
List1.AddItem ("")
Next adsSession
End Sub
Avatar billede tubber Juniormester
31. august 2004 - 13:46 #20
lanman undlader du bare
den burde ikke være nødvendig

tror hvis du skriver:
GetObject("WinNT://DOMAIN") får du alle der er logget på domainet
GetObject("WinNT://Server") får du alle der er logget på serveren

og ja lanman ved jeg ikke lige hvad er......
Avatar billede drukkenbolden Nybegynder
31. august 2004 - 13:52 #21
okay, jeg prøver når jeg kommer hjem, du hører nærmere, mange tak tubber !
Avatar billede drukkenbolden Nybegynder
31. august 2004 - 14:20 #22
tubber >> er det muligt at få disse data med som du tidligere fandt i et vbs script ?

strOutput = strOutput & "Session Object Name    : " & adsSession.Name & vbCrLf
    strOutput = strOutput & "Client Computer Name    : " & adsSession.Computer & vbCrLf
    strOutput = strOutput & "Seconds connected      : " & adsSession.ConnectTime & vbCrLf
    strOutput = strOutput & "Seconds idle            : " & adsSession.IdleTime & vbCrLf
    strOutput = strOutput & "Connected User          : " & adsSession.User & vbCrLf
    strOutput = strOutput & vbCrLf
Avatar billede tubber Juniormester
31. august 2004 - 14:30 #23
jo skulle jeg da mene:

ca sådan her:

List1.AddItem ("Nama: " & adsSession.Name)
List1.AddItem ("User: " & adsSession.User)
List1.AddItem ("Computer: " & adsSession.Computer
List1.AddItem ("Time: " & adsSession.ConnectTime
List1.AddItem ("IdleTime: " & adsSession.IdleTime
List1.AddItem ("")
Next adsSession
Avatar billede drukkenbolden Nybegynder
31. august 2004 - 14:46 #24
tubber >> du er fandme konge :) glæder mig til at prøve det når jeg kommer hjem
Avatar billede tubber Juniormester
31. august 2004 - 16:12 #25
aahhh konge tror jeg ikke hende der hjemme hun siger, det er vist nærmere noget med hun er dronning og jeg er en ydmyg hjælper.....
Avatar billede drukkenbolden Nybegynder
14. september 2004 - 16:01 #26
hej tubber, undskyld min sene tilbage melding, men har haft nogen ting og se til på famlie siden, men nu er jeg tilbage igen og har været ved og se på vores lille ting her.

Jeg kan bar ikke få det til at virke, den melder allerede fejl når jeg klikker på knappen. så får jeg en fejl på flg linje Option Explicit 'Gør du SKAL dimme dine variabler

Koden ser sådan her ud

Private Sub Command1_Click()
Option Explicit 'Gør du SKAL dimme dine variabler
Dim adsFSOps As IADsFileServiceOperations
Dim adsSession As IADsSession
Dim adsSessions As IADsCollection

Command_Click()
' Replace DOMAIN & SERVER with the appropriate domain and server names
Set adsFSOps = GetObject("WinNT://DOMAIN/SERVER/lanmanserver")
' Enumerate sessions
Set adsSessions = adsFSOps.Sessions
For Each adsSession In adsSessions
List1.AddItem ("User: " & adsSession.User)
List1.AddItem ("Computer: " & adsSession.Computer)
List1.AddItem ("")
Next adsSession
End Sub
End Sub
Avatar billede tubber Juniormester
14. september 2004 - 16:14 #27
Det er fordi option explicit skal stå aller øver i koden uden for subs....
Avatar billede drukkenbolden Nybegynder
14. september 2004 - 20:52 #28
tubber >> Jeg får en type mismatch fejl :(
Avatar billede tubber Juniormester
14. september 2004 - 20:54 #29
på hvilken type ?
Avatar billede drukkenbolden Nybegynder
14. september 2004 - 20:55 #30
run time error 13, type mismatch
Avatar billede drukkenbolden Nybegynder
14. september 2004 - 20:57 #31
tubber >> har du mulighed for at lave et vb projekt, og se om det virker hos dig, og evt. maile det til mig ?
Avatar billede drukkenbolden Nybegynder
15. september 2004 - 03:07 #32
tubber >> nu har jeg fået det til at virke og 1000 tak for det, er det ikke muligt og trække ud hvilken klok / hvornår brugeren loggede på ?
Avatar billede tubber Juniormester
15. september 2004 - 04:17 #33
ConnectTime må være når der blev logget på :)

Og nu du har fået det til at virke så må jeg heller ligge et svar :)

Kan du ikke paste din færdige kode ?
Avatar billede drukkenbolden Nybegynder
15. september 2004 - 10:56 #34
Private Sub Command1_Click()

GetSessionstest ("127.0.0.1")
GetRecource ("127.0.0.1")

End Sub
Private Function GetSessionstest(Ip As String)
Dim adsFSOps As IADsFileServiceOperations
Set adsFSOps = GetObject("WinNT://" & Ip & "/lanmanserver")
' Enumerate sessions

For Each adsSession In adsFSOps.Sessions
DoEvents
List1.AddItem ("Name: " & adsSession.Name)
List1.AddItem ("User: " & adsSession.User)
List1.AddItem ("Computer: " & adsSession.Computer)
List1.AddItem ("Connect Time: " & adsSession.ConnectTime)
List1.AddItem ("IdleTime: " & adsSession.IdleTime)

List1.AddItem ("")
Next adsSession

End Function
Private Function GetRecource(Ip As String)
On Error GoTo err:
Dim fso As IADsFileServiceOperations

' Bind to a file service operations object on "myComputer" in the local domain.
Set fso = GetObject("WinNT://" & Ip & "/LanmanServer")

' Enumerate resources.
If (IsEmpty(fso) = False) Then
    For Each resource In fso.Resources
    DoEvents
        List1.AddItem "Resource name: " & resource.Name
      ' List1.AddItem "Resource path: " & resource.User
        List1.AddItem "Resource path: " & resource.Path
    Next resource
End If

Cleanup:
    If (err.Number <> 0) Then
        List1.AddItem ("An error has occurred. " & err.Number)
    End If
    Set fso = Nothing
    Exit Function
err:
    List1.AddItem "Error=" & err.Number & " " & err.Description
    Resume Next
   
   

End Function
Avatar billede drukkenbolden Nybegynder
15. september 2004 - 10:57 #35
jeg har fundet lidt flere muligheder på nettet jeg kan bare ikke bruge dem i vb ;(

List1.AddItem "Resource name: " & resource.Name
List1.AddItem "Resource path: " & resource.User
List1.AddItem "Resource path: " & resource.Path
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