Avatar billede mr-kill Nybegynder
24. januar 2006 - 09:11 Der er 10 kommentarer og
1 løsning

Dele en mappe fra C#

Hey..

Kan man dele en mappe fra C#?

Den skal være delt på LAN.
Avatar billede nielle Nybegynder
24. januar 2006 - 09:23 #1
Avatar billede nielle Nybegynder
24. januar 2006 - 09:25 #2
Avatar billede spif2001 Nybegynder
24. januar 2006 - 09:26 #3
Er ikke helt med på hvad du vil.

Hvis det er for at alle kan arbejde på samme kode, er der jo MicroSoft's SourceSafe:
http://msdn.microsoft.com/vstudio/previous/ssafe/

En pendant til den er SubVersion, som er ganske gratis:
http://subversion.tigris.org/
Avatar billede mr-kill Nybegynder
24. januar 2006 - 09:41 #4
jeg takker for linksne og kigger på det...
Avatar billede nielle Nybegynder
24. januar 2006 - 09:42 #5
Og så spørger du i øvrigt bare... For at arbejde med WMI skal du have tilføjet System.Management.dll under dine references og du skal have using System.Management under dine andre using's.
Avatar billede mr-kill Nybegynder
24. januar 2006 - 09:53 #6
Hmmm jeg har problemer med at få det til at virke:

using System;
using System.Collections.Generic;
using System.Text;
using System.Management;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ManagementClass o = new ManagementClass("\\\\.\\root\\test",
"Win32_Share", null))
            {
                string wmiMethod = "create";
                ManagementBaseObject inputArgs = o.GetMethodParameters(wmiMethod);
                inputArgs["Name"] = "test";
                inputArgs["Path"] = "c:\\test";
                inputArgs["Description"] = "some description";
                inputArgs["Type"] = 0; // Disk share
                ManagementBaseObject outParams = o.InvokeMethod(wmiMethod, inputArgs,
                null);
                uint ret = (uint)(outParams.Properties["ReturnValue"].Value);
                if (ret != 0)
                    Console.WriteLine("Failed {0}", ret);
            }
        }
    }
}

får fejlen -> Navneområdet er ugyldigt.
på linjen: ManagementBaseObject inputArgs = o.GetMethodParameters(wmiMethod);
Avatar billede nielle Nybegynder
24. januar 2006 - 10:00 #7
Du skal ikke ændre "cimv2":

using (ManagementClass o = new ManagementClass("\\\\.\\root\\cimv2", "Win32_Share", null))
Avatar billede mr-kill Nybegynder
24. januar 2006 - 10:02 #8
Hehe... okey det ser ud til at virke nu.. hvad gør jeg så hvis den ikke skal være delt mere?
Avatar billede nielle Nybegynder
24. januar 2006 - 11:18 #9
Værsgod:

using System;
using System.Management;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Læs om Win32_Share her:
            // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_share.asp

            CreateShare(@"c:\test", "Share navn", "Share beskrivelse");
            DeleteShare(@"c:\test");
        }

        static void CreateShare(string path, string name, string description)
        {
            ManagementClass mc = new ManagementClass("Win32_Share");

            ManagementBaseObject inputArgs = mc.GetMethodParameters("Create");

            inputArgs["Path"] = path;
            inputArgs["Name"] = name;
            inputArgs["Description"] = description;
            inputArgs["Type"] = 0;  // Disk share

            ManagementBaseObject outParams = mc.InvokeMethod ("Create", inputArgs, null);
        }

        static void DeleteShare(string path)
        {
            path = path.Replace(@"\", @"\\");  // WMI kræver dobbelt \\ i sti-navne i SELECT'en.

            string sql = string.Format("SELECT * FROM Win32_Share WHERE Path='{0}'", path);
            ManagementObjectSearcher mos = new ManagementObjectSearcher(sql);

            ManagementObjectCollection moc = mos.Get();
            foreach (ManagementObject mo in moc)
            {
                mo.Delete();
            }
        }
    }
}
Avatar billede mr-kill Nybegynder
24. januar 2006 - 11:20 #10
Mange tak, lige hvad jeg havde brug for :)

Smid et svar så er pointne dine ...
Avatar billede nielle Nybegynder
24. januar 2006 - 12:26 #11
Svar :^)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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