以下代码适用于我的开发计算机,我可以看到该服务是使用netsh show urlacl注册的。
ProcessStartInfo netshPSI = new ProcessStartInfo();
// Windows XP SP3, Vista SP2, 7 SP1 or 8
netshPSI.FileName = "netsh.exe";
netshPSI.Arguments = "http add urlacl url=http://+:8731/Service1 user=Everyone";
netshPSI.CreateNoWindow = true;
Process.Start(netshPSI);
然而,在目标计算机中,它执行时不会引发异常并且不会注册。 我在这里缺少什么?
我应该等待这个过程完成吗?
两台计算机都以管理员身份登录,代码以提升的权限执行。
答案 0 :(得分:0)
问题是目标计算机是德语,每个人都是“Jeder”。在使用以下代码之前,我必须动态地找到Everyone的名称:
var sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
var account = (NTAccount) sid.Translate(typeof(NTAccount));
string everyoneName = account.ToString();