Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // kleine und schnelle Notlösung als Basis, kein Anspruch auf Vollständigkeit oder Professionalität!
- // ...hilft aber dem ein oder anderen vielleicht :-)
- public class NetShareModel
- {
- private string ServerUNC { get; set; }
- private List<NetShareItem> Items { get; set; }
- public NetShareModel() => Items = new List<NetShareItem>();
- public NetShareModel(string server)
- {
- ServerUNC = server;
- if (ServerUNC.Substring(0,2) != @"\\")
- ServerUNC = @"\\" + ServerUNC;
- Items = new List<NetShareItem>();
- ReadNetShareItems();
- return;
- }
- public void ReadNetShareItems()
- {
- Process p = Process.Start(new ProcessStartInfo
- {
- FileName = "cmd.exe"
- , Arguments = $@"/c C:\Windows\Sysnative\net view {ServerUNC}"
- , CreateNoWindow = true
- , UseShellExecute = false
- , RedirectStandardOutput = true
- });
- while (!p.StandardOutput.EndOfStream)
- {
- string line = p.StandardOutput.ReadLine();
- if (line.Length < 42)
- continue;
- NetShareItem item = new NetShareItem
- {
- Name = line.Substring(0, 18).Trim()
- , Type = line.Substring(18, 9).Trim()
- , UsedAs = line.Substring(27, 15).Trim()
- , Comment = line.Substring(42).Trim()
- };
- if (!new string[] {"---------", "Typ"}.Contains(item.Type))
- Items.Add(item);
- }
- }
- public List<NetShareItem> GetShares() => Items;
- }
- public class NetShareItem
- {
- public string Name { get; set; }
- public string Type { get; set; }
- public string UsedAs { get; set; }
- public string Comment { get; set; }
- }
- // using:
- NetShareModel shares = new NetShareModel("servername");
- List<NetShareItem> items = shares.GetShares();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement