vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Netzwerk freigabe 
Autor: JPGForce
Datum: 08.02.04 21:27

Hi,

wie kann ich in .NET einen Ordner mit schreibrechten freigeben?

THX!

mfG JPG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Netzwerk freigabe 
Autor: WaldiMaywood
Datum: 08.02.04 22:19

Ein fertige Klasse gibt es (glaube ich) im .NET Framework nicht.

Es sollte aber über normalerweise über WMI (Windows Management Instrumentation) und der WMI Klasse "Win32_Share" möglich sein. Der Namespace heißt: "System.Management". Dazu ist ein Verweis notwendig. Wenn es nicht so eilig ist, dann könnte ich dir morgen ein Beispiel posten.

Vieleicht geht es ja aber auch über ADSI (Active Directory Service Interfaces)?!
Werde mich mal darüber schlau machen

Steve
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Netzwerk freigabe 
Autor: JPGForce
Datum: 08.02.04 22:29

wäre echt NET!
hat keine Eile, bin "nur" freizeitprogrammierer
und mach des nur zum Spass,
trotzdem würd's mich interresieren ...
schaue auch noch weiter und poste es wenn ich's find ...

mfG JPG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Netzwerk freigabe 
Autor: WaldiMaywood
Datum: 08.02.04 23:13

Hab es doch noch schneller hin bekommen als ich erst angenommen hatte.
Für dieses Beispiel benötigst du ein Verweis auf "System.Managment".
Hier der Code:

Imports System.Management
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles Button2.Click
        Const IsFileShare As Integer = 0 
        Const Max_Connections As Integer = 10
        Dim Share_Info As String() = {"C:\Freigabe", "Freigabe", IsFileShare, _
          Max_Connections, "Mein Freigabekommentar"}
        Dim Win_Shares As ManagementClass = New ManagementClass("Win32_Share")
        Try
            Win_Shares.InvokeMethod("Create", Share_Info)
        Catch ex As System.Management.ManagementException
            MessageBox.Show(ex.ToString)
            Return
        Finally
            Win_Shares.Dispose()
        End Try
        MessageBox.Show(Share_Info(0) + " erfolgreich erstellt!")
End Sub
PS: Denke das es selbsterklärend ist

Steve
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Netzwerk freigabe 
Autor: JPGForce
Datum: 08.02.04 23:51

FA€TT€S THX!

das hab ich gesucht!

THX!

mfG JPG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Netzwerk freigabe 
Autor: JPGForce
Datum: 09.02.04 00:00

sorry, ich nommal ...
der findet bei mir das
Imports System.Management
nicht.
was muss ich für ne COM hinzufügen?

mfG JPG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Netzwerk freigabe 
Autor: Snof
Datum: 09.02.04 00:15

Hi WaldiMaywood

Wie kann ich die Freigabe wieder aufheben?


demn?chst Online: SnofWare.de
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Netzwerk freigabe 
Autor: WaldiMaywood
Datum: 09.02.04 00:31

Du musst ein .NET Verweis auf "System.Management" (system.management.dll)
setzen. Dann sollte es auf jeden Fall funktionieren.

Steve
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Netzwerk freigabe 
Autor: WaldiMaywood
Datum: 09.02.04 00:32

Werde ich morgen hier posten, ok? Meine VS Maschine ist down ...

Steve
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Netzwerk freigabe 
Autor: WaldiMaywood
Datum: 09.02.04 13:58

Hier wie versprochen der Code, um eine Windowsfreigabe aufzuheben:

    Sub RemoveWinShare(ByVal ShareName As String)
        Dim WMISearcher As System.Management.ManagementObjectSearcher = New _
          ManagementObjectSearcher("SELECT * FROM Win32_Share")
        Try
            For Each share As ManagementObject In WMISearcher.Get
                If share.Properties("Name").Value.ToString = ShareName Then
                    share.Delete()
                End If
            Next
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
            Return
        Finally
            WMISearcher.Dispose()
        End Try
        MessageBox.Show("Die Freigabe: " + ShareName + " wurde entfernt!")
    End Sub
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button4.Click
        RemoveWinShare("Freigabe")
    End Sub
Steve
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Netzwerk freigabe 
Autor: WaldiMaywood
Datum: 09.02.04 14:41

Analog dazu könntet ihr euch mal das Programm "MgmtClassGen.exe" anschauen.

Zu finden unter diesem Pfad:
{PFAD ZU VS.NET}\SDK\v1.1\Bin\MgmtClassGen.exe Win32_Share /L vb /P C:\wmi.vb

Parameter:
Win32_Share = WMI Klasse
/L vb = Language (VB)
/P C:\wmi.vb = Exportpfad

Mit diesem Kommando wird eine komplette WMI „Share“ Klasse erstellt, welche alle Möglichkeiten beinhaltet. Schaut es euch mal an, ist wirklich eine fantastische Sache!

Gruss Steve
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Netzwerk freigabe 
Autor: JPGForce
Datum: 09.02.04 21:19

THX!

TUT ...

mfG JPG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel