2011-01-31 2 views
1

시동시 System.Diagnostics.Process.Start가 작동하지 않습니다. 시작할 때 실행해야하는 vb.net 2008 응용 프로그램이 있습니다. 특정 조건을 충족하면 PC가 다시 시작됩니다. myPassword가 SecureString 동안제공된 사용자 계정

System.Diagnostics.Process.Start("shutdown", "-r -t 00 -f", myUsername, myPassword, myDomain) 

MyUserName 에다 및 MYDOMAIN 모두 문자열 : 다음은 실패 코드입니다. 이 응용 프로그램은 시작에서 (시작 폴더에 배치하여 또는 레지스트리에 추가하여 중) 실행될 때 수동으로 실행하지만, 다음과 같은 오류를 줄 때 제대로 작동 :

디렉토리 이름

또한, 프로그램이 유효하지 않습니다 마지막 3 개의 인수를 생략하고 사용자에게 필요한 권한이있는 경우 제대로 실행됩니다.

시작할 때 특정 대체 사용자 자격 증명을 사용하여 강제로 다시 시작 하시겠습니까?

답변

1

현재 작업 디렉토리를 기본값으로하여 프로세스가 시작됩니다. 해당 디렉토리가 사용자에게 유효하지 않은 경우 문제가 발생할 수 있습니다. 대신 Process.Start (ProcessStartInfo) 오버로드를 사용하십시오. ProcessStartInfo.WorkingDirectory를 모든 사용자에게 유용한 디렉토리로 설정하십시오. c : \

이 정보는 KB article입니다.

+0

굉장합니다. 그게 효과가 있었어. 고맙습니다! – mp42871