Какой лучший способ для программы UWP создать общую сетевую папку, к которой могут получить доступ другие пользователи? - PullRequest
1 голос
/ 18 июня 2019

, поэтому я создаю программу UWP, в которой этот текущий модуль должен иметь возможность создавать общую сетевую папку, доступную для всех пользователей (также совместимую с устройством IOT для Windows).

Мне известно об использовании Powershell для этого (в настоящее время это то, что я пытаюсь), однако я хочу убедиться, что это мой лучший образ действий.

Любое руководство будет с благодарностью.

Примечание: я создаю его в UWP, потому что я хотел сделать графический интерфейс пользователя для создания файла конфигурации, который, в конце концов, кому-то будет легче понять.

1 Ответ

0 голосов
/ 19 июня 2019

Для тех, кто интересуется, сделал ли я это / искал ответ.

В итоге я пошел по пути PowerShell (однако, насколько я понимаю, это можно сделать и в c #).

Вот мой пример кода

            using (var ps = PowerShell.Create())
        {
            ps.Runspace.SessionStateProxy.SetVariable("Path", @"C:\path-to-folder");
            ps.Runspace.SessionStateProxy.SetVariable("FPath", @"C:\path-to-folder\*foldername*");

            ps.AddScript("New-Item -Path $Path -Name \"*foldername*\" -ItemType \"directory\" -Force;"); 
            ps.AddScript("New-SmbShare -Name \"*foldername*\" -Path $FPath -FullAccess Everyone");


            ps.Invoke();
        }

        var newProcessInfo = new System.Diagnostics.ProcessStartInfo();
        newProcessInfo.FileName = @"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe";
        newProcessInfo.Verb = "runas";
        newProcessInfo.Arguments = "net user '*CustomUserName*' '*password*' /add; net localgroup 'Administrators' '*CustomUserName*' /add";

        System.Diagnostics.Process.Start(newProcessInfo);

, поэтому добавьте папку и создайте общий сетевой ресурс.Затем он создает локального пользователя для обхода (IIRC) UAC, который может быть предложен, а затем делает его членом группы администраторов.

Причина, по которой я делаю это таким образом, заключается в том, что мне нужноудаленное устройство для доступа к общему сетевому ресурсу, не запрашивая у пользователя учетные данные учетной записи, что делает его полностью автоматическим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...