원격 시스템에서 실행 파일을 시작하려면 psexec을 사용하고 있습니다. 원격 시스템은 64 비트이고 psexec를 사용하여 푸시 된 exe는 32 비트입니다.액세스가 거부 된 ShellExecute가 실패했습니다.
"psexec"을 실행하는 동안 원격 시스템의 관리자 자격 증명을 제공하고 원격 프로세스가 해당 자격 증명을 사용하여 만들어집니다.
32 비트 exe는 원격 시스템에서 실행될 때 일부 작업을 수행 한 다음 ShellExecute를 사용하여 다른 실행 파일을 생성합니다.
Windows 7에서 ShellExecute가 오류 코드 5 (예 : SE_ERR_ACCESSDENIED)를 반환합니다. 대상 컴퓨터가 XP 일 때 전체 프로세스가 잘 실행되고 ShellExecute가 성공합니다.
동일한 아이디어 나 해결 방법이 있습니까? COM 초기화를 시도했지만 이점이 없습니다. 자세한 내용/코드가 필요한지 알려주십시오.
아마 UAC 문제일까요? –
UAC가 시스템에서 꺼져 있습니다. 해결 방법으로 CreateProcess를 사용하여 시도했는데 "실패시 로그온"을 의미하는 오류 코드로 1326을 반환합니다. CreateProcess 호출 전에 NetUseAdd() 추가하고 동일한 오류 코드를 반환합니다. 어떤 도움을 많이 주시면 감사하겠습니다. – user1624807
CreateProcess에 전달하는 실행 파일 경로는 무엇입니까? 로컬 경로, UNC 경로, 매핑 된 드라이브 경로? –