Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 进程。以用户名';每个人';?_C#_Process_.net Core_Permissions_Privileges - Fatal编程技术网

C# 进程。以用户名';每个人';?

C# 进程。以用户名';每个人';?,c#,process,.net-core,permissions,privileges,C#,Process,.net Core,Permissions,Privileges,我想调用Process.Start,某些用户权限有限,因为运行的程序可能包含恶意代码。在这里,我认为每个人都应该首先尝试,而且我认为它没有任何相关的密码 但是,以下代码会抱怨用户名或密码不正确(当然用户名确实存在,所以看起来好像是关于密码的): 如果这是不可能的,我必须以某种方式动态创建一个用户帐户,该帐户具有有限的权限和完整的用户名/密码,用于进程。启动 在.NET core中,我们不能使用AppDomain来创建沙盒,这里唯一推荐的方法是尝试用较少/有限的特权分支另一个进程。您还应该指定域名

我想调用
Process.Start
,某些用户权限有限,因为运行的程序可能包含恶意代码。在这里,我认为每个人都应该首先尝试,而且我认为它没有任何相关的密码

但是,以下代码会抱怨用户名或密码不正确(当然用户名确实存在,所以看起来好像是关于密码的):

如果这是不可能的,我必须以某种方式动态创建一个用户帐户,该帐户具有有限的权限和完整的用户名/密码,用于
进程。启动


在.NET core中,我们不能使用
AppDomain
来创建沙盒,这里唯一推荐的方法是尝试用较少/有限的特权分支另一个进程。

您还应该指定域名,或UPN格式的用户名,user@DNS_domain_name,根据。另外,必须设置
工作目录
SID
每个人
都不是用户,而是一个特殊的系统SID(有点像一个组)。所以,你不能用它来“作为”运行


您需要专门为此创建一个用户。

很抱歉,我没有添加一些缺少的代码。实际上,如果没有提供
,则错误消息是不同的(类似于收到的
坏数据
)。我还尝试提供更新后的
工作目录
。@没有希望问题已经解决,您不能使用“Everyone”。是一个如何创建本地用户帐户的线程。您关于
创建本地用户帐户的链接似乎以.NET为目标,但这里我的代码以.NET核心为目标。@您应该使用.NET平台扩展在.NET中获得这些API,这是毫无希望的core@Hopeless您需要对
System.DirectoryServices.AccountManagement
的引用。这是包装的一部分。这篇文章解释了一点兼容性。SID
每个人都不是用户,而是一个特殊的SID(有点像一个组)。所以,你不能用它来“作为”运行。您需要为此专门创建一个用户。谢谢,这很有意义,因此我将继续使用特定的用户帐户。如果您有一些动态创建这样一个用户的解决方案(尽可能少的特权),那将不胜感激。
var startInfo = new ProcessStartInfo("some_exe");
startInfo.WorkingDirectory = Environment.CurrentDirectory;
startInfo.UserName = "Everyone";
startInfo.Domain = "mydomain";
startInfo.UseShellExecute = false;
Process.Start(startInfo);