Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 129
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Freigaben eines RemoteRechners auslesen/ löschen


Autor: Veasel
Sprache: C#
Bewertung: 8,2
(1 Bewertung)
Anzahl der Aufrufe: 10716
  
Kick it on dotnet-kicks.de  

Beschreibung:

ein kleines Programm um Netzwerkfreigaben remote auszulesen und ggf. zu löschen.

Parameter:
PcName: der Name des PCs
Password: das lokale Adminpasswort



Abgelegt unter: Freigaben, WMI, Shares, Remote, Netzwerk.



C#
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
using System;
using System.Collections.Generic;
using System.Text;
using System.Management;

namespace FreigabenRemoteEntfernen.Net
{
	class Program
	{
		static void Main(string[] args)
		{
			if (args.Length != 2)
			{
				Console.WriteLine("so aufrufen: \"FreigabenRemoteEnfernen.Net.exe\" \"PCName\" \"Password\"");
			}
			else
			{
				ShareLister lister = new ShareLister();
				List<ManagementObject> shares = lister.ListShares(args[0], args[0] + @"\Administrator", args[1]);
				Console.WriteLine("Alle Freiagben:");
				Console.WriteLine();  //Leerzeile
				
				foreach (ManagementObject share in shares)
				{
					Console.WriteLine(share["name"].ToString());
				}
				Console.WriteLine(); //Leerzeile

				Console.WriteLine("Welche Freigabe soll gelöscht werden? ");
				string shareName = Console.ReadLine();
				bool result = false;
				//Freigabe löschen
				foreach (ManagementObject share in shares)
				{
					if (share["name"].Equals(shareName))
					{
						result = lister.RemoveShare(share);
					}
				}

				if (result)
					Console.WriteLine("Gelöscht");
				else
					Console.WriteLine("nicht gelöscht");
			}
			Console.ReadKey();
		}
	}

	class ShareLister
	{
		public List<ManagementObject> ListShares(string computername, string username, string password)
		{
			List<ManagementObject> Shares = new List<ManagementObject>();
			if (computername != string.Empty)
			{
				ManagementScope managementScope1 = new ManagementScope((@"\\" + computername + @"\root\cimv2"));
				managementScope1.Options.Username = username;
				managementScope1.Options.Password = password;
				managementScope1.Options.EnablePrivileges = true;
				ObjectQuery objectQuery1 = new ObjectQuery("SELECT * FROM Win32_Share");
				ManagementObjectSearcher managementObjectSearcher1 = new ManagementObjectSearcher(managementScope1, objectQuery1);
				using (ManagementObjectCollection.ManagementObjectEnumerator managementObjectEnumerator1 =
						managementObjectSearcher1.Get().GetEnumerator())
				{
					while (managementObjectEnumerator1.MoveNext())
					{
						ManagementObject managementObject1 = ((ManagementObject)managementObjectEnumerator1.Current);
						Shares.Add(managementObject1);
					}
				}
			}
			return Shares;
		}

		public bool RemoveShare(ManagementObject shareToRemove)
		{
			try
			{
				shareToRemove.InvokeMethod("Delete", new object[] { shareToRemove.Path.ToString() });
				return true;
			}
			catch
			{
				return false;
			}
		}
	}
}

Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



Diese Snippets könnten für Sie interessant sein:
[VB.NET] Freigaben eines RemoteRechners auslesen/ löschen
[C#] Betriebssystem mit WMI auslesen
[VB.NET] WMI Hardware Wrapper
[VB.NET] Installierte Programme und Hotfixes per WMI abfragen
[VB.NET] OS Informationen
[VB.NET] Anwendung deinstallieren
[C#] WMI Getter
[C#] Anzahl logischer Prozessoren ermitteln
[C#] Anzahl physikalischer Prozessoren ermitteln
[VB.NET] Bestimmte Registry Keys oder Values überwachen
[VB.NET] Alle Codecs OHNE Registry Zugriff
[VB.NET] Alle Codecs eines REMOTE Systems mit WMI
[C#] Ermittelt Remote, ob der User Admin, PowerUser oder User -Re
[C#] Ermittelt alle Gruppenmitgliedschaften eines Users auf einem
[C#] Druckaufträge mit WMI auslesen
[C#] Seriennummer eines Laufwerkes auslesen mit WMI
[VB.NET] Seriennummer eines Laufwerkes auslesen mit WMI
[VB.NET] Systemdirectory eines Remotesystems mit WMI ermitteln
[VB.NET] Betriebssystemarchitektur ermitteln per WMI
[VB.NET] Betriebssystem ermitteln per WMI
[VB.NET] Bildschirmaktualisierungsrate ermitten
[VB.NET] Angemeldeter User
[VB.NET] Uptime eines Computers ermitteln
[VB.NET] Ermitteln des Ländercodes per WMI
[VB.NET] Ermitteln der Zeitzone per WMI
[VB.NET] Modelltyp des Rechners per WMI ermitteln
[VB.NET] Hersteller ermitteln per WMI
[VB.NET] Installierte Drucker ermitteln
[C#] Eventlog Eintrag finden
[VB.NET] Anzahl phys. CPU´s eines Remotesystems ermitteln
[C#] MAC Adresse eines Netzwerkcomputers mithilfe der IP Adresse
[C#] Host via IP Adresse ermitteln
[C#] Interprozesskommunikation über benannte Pipes - Client
[C#] Interprozesskommunikation über benannte Pipes - Server
[VB.NET] IP-Addressen aus Registry auslesen
[VB.NET] WakeOnLan mittels MagicPacket
[C#] Broadcast senden
[C#] Netzwerktraffic anzeigen
[VB.NET] Netzwerkverfügbarkeit überwachen
[C#] Prüfen, ob Internetverbindung besteht (kurz)
[VB.NET] String uebers Netzwerk oder Internet and einen PC senden

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.