myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Netzwerktechnologien » [gelöst] Wie kann ich die IP-Adresse eines Logins auf dem Server herausfinden (VBS -> C#)?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

[gelöst] Wie kann ich die IP-Adresse eines Logins auf dem Server herausfinden (VBS -> C#)?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Torni Torni ist männlich
myCSharp.de-Mitglied

Dabei seit: 14.11.2014
Beiträge: 35


Torni ist offline

[gelöst] Wie kann ich die IP-Adresse eines Logins auf dem Server herausfinden (VBS -> C#)?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

ich habe ein VBS mit nachfolgendem Inhalt, das ich über eine C#-Form-Anwendung aufrufe:

Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Dim oSession
 
Set fs = GetObject("WinNT://" & "SERVERNAME" & "/lanmanserver, FileService")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFile = FSO.OpenTextFile("IP_Liste.txt", 8)

For Each oSession In fs.Sessions
    On Error Resume Next
       If InStr(oSession.user, WScript.Arguments(0)) <> 0 Then 'userlogin übergeben
          MyFile.WriteLine (oSession.computer)
        End if
Next 
MyFile.Close

welchem ein loginname übergeben wird und das über das Object (fs) dessen IP-Adresse auf dem Server ausliest und in eine Datei hinzuspeichert.

Ich möchte gerne das VBS in c# implementieren, damit dies nicht mehr extern notwendig wird.
Leider scheitere ich an gerade allem und Google mag mich die Tage nicht..

Das Objekt holen klappt ja noch, wenn ich über hinzugefügten VB-Verweis gehe:

C#-Code:
object ofs = Microsoft.VisualBasic.Interaction.GetObject(@"WinNT://" + "SERVERNAME" + "/lanmanserver, FileService");

Das weitere aber scheitert kläglich..zudem hat das erzeugte Objekt kein iEnum usw..

Hat da jmd Tipps??

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Torni am 09.10.2020 18:34.

08.10.2020 20:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Platoon Platoon ist männlich
myCSharp.de-Mitglied

Dabei seit: 15.02.2017
Beiträge: 25
Entwicklungsumgebung: VS 2015 Pro (Arbeit), VS 2017
Herkunft: NRW


Platoon ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ohne jetzt direkt eine Antwort geben zu können - warum nutzt du nicht "nur" C#.
Das wäre doch deutlich charmanter als den Umweg über VBS zu gehen.

Funktioniert das Script ohne Probleme?
In was für einer Umgebung läuft das denn?
08.10.2020 21:40 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Torni Torni ist männlich
myCSharp.de-Mitglied

Dabei seit: 14.11.2014
Beiträge: 35

Themenstarter Thema begonnen von Torni

Torni ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

die Antwort ist leicht: weil ich absolut nicht weiß, wie ich das Skipt in c# umsetzen kann..

Ich sitze da schon tagelang dran und google mir die Finger wund..

Skript funktioniert einwandfrei und wird per

C#-Code:
            Process scriptProc = new Process();
            scriptProc.StartInfo.CreateNoWindow = true;
            scriptProc.StartInfo.UseShellExecute = false;
            scriptProc.StartInfo.FileName = @"cscript";
            scriptProc.StartInfo.WorkingDirectory = Application.StartupPath + @"\Resources\";
            scriptProc.StartInfo.Arguments = "//Nologo getpc.vbs " + title;//Title ist der Übergabeparam
            scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            scriptProc.Start();

aufgerufen

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Torni am 08.10.2020 22:10.

08.10.2020 22:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Torni Torni ist männlich
myCSharp.de-Mitglied

Dabei seit: 14.11.2014
Beiträge: 35

Themenstarter Thema begonnen von Torni

Torni ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

OK,

nach langem Hin- und Her doch noch:

C#-Code:
            DirectoryEntry fs = new DirectoryEntry("WinNT://SERVERNAME/lanmanserver,Fileservice");
            ActiveDs.IADsFileServiceOperations iads_fs = (ActiveDs.IADsFileServiceOperations)fs.NativeObject;
            foreach (ActiveDs.IADsSession oSession in iads_fs.Sessions())
            {
                    sdf.Add(oSession.User + ";" + oSession.Computer);
            }
09.10.2020 18:32 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Monat.
Der letzte Beitrag ist älter als ein Monat.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 05.12.2020 22:36