2013-08-16 2 views
0

다음 코드는 내 개발 컴퓨터에서 작동하며 서비스가 netsh show urlacl을 사용하여 등록 된 것을 볼 수 있습니다.HttpNamespace 예외없이 예외가 발생합니다.

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

당신이 **은 netsh를 ** 실행하려고 적이 : 동적으로 아래의 코드를 사용하기 전에 모든 사람의 이름을 발견했다? 내가 '프로세스'는 오류 포착과 관련하여 다소 제한적인 기능을 가지고 있음을 기억한다. –

답변

0

문제는 대상 컴퓨터가 독일어이고 모든 사람이 "Jeder"입니다. 이 대상 컴퓨터의 명령 PROMT에서 직접 인수의로,

var sid = new SecurityIdentifier(WellKnownSidType.WorldSid, null); 
var account = (NTAccount) sid.Translate(typeof(NTAccount)); 
string everyoneName = account.ToString(); 
관련 문제