C# 什么';UWP程序创建其他用户可以访问的网络共享文件夹的最佳方式是什么?
因此,我正在构建一个UWP程序,在该程序中,当前模块需要能够创建一个可供所有用户使用的网络共享文件夹(也与windows IOT设备兼容) 我知道使用Powershell可以做到这一点(目前我正在尝试这一点),但我想确保这是我最好的做法 任何指导都将不胜感激C# 什么';UWP程序创建其他用户可以访问的网络共享文件夹的最佳方式是什么?,c#,.net,uwp,C#,.net,Uwp,因此,我正在构建一个UWP程序,在该程序中,当前模块需要能够创建一个可供所有用户使用的网络共享文件夹(也与windows IOT设备兼容) 我知道使用Powershell可以做到这一点(目前我正在尝试这一点),但我想确保这是我最好的做法 任何指导都将不胜感激 旁注,我在UWP中构建它是因为我想为用户制作一个gui,以便构建一个配置文件,最终让人更容易理解。对于那些想知道我是否这样做了/寻找答案的人来说 我最终选择了powershell路线(但据我所知,这也可以在c#中实现) 下面是我的一些示例代
旁注,我在UWP中构建它是因为我想为用户制作一个gui,以便构建一个配置文件,最终让人更容易理解。对于那些想知道我是否这样做了/寻找答案的人来说 我最终选择了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(可以提示),然后使其成为管理组的成员
我这样做的原因是因为我需要一个远程设备来访问网络共享,而无需询问用户的帐户凭据,因此对于那些想知道我是否这样做了/正在寻找答案的人来说,这完全不需要干涉 我最终选择了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(可以提示),然后使其成为管理组的成员
我之所以这样做,是因为我需要一个远程设备来访问网络共享,而无需向用户询问他们的帐户凭据,因此完全不需要使用TCP IP。或者找到一个套接字库。。。基本上创建元数据传输和传输文件数据的流。你甚至可以通过UWP应用程序托管一个站点。。。使用HTTP协议。@visc好的,我来看看!谢谢TCP IP。或者找到一个套接字库。。。基本上创建元数据传输和传输文件数据的流。你甚至可以通过UWP应用程序托管一个站点。。。使用HTTP协议。@visc好的,我来看看!谢谢