가 제한된 로그온 세션에서 실행하는 동안 Windows 7에서 공유 폴더를 programmaticaly 할 수 있는지 궁금 윈도우 : NetShareAdd은 ERROR_ACCESS_DENIED를7 폴더 공유 API
1)을 반환합니다. 2) 명령 행 net share는 동일하게 말합니다. 3) 그러나 탐색기는 UAC를 호출하지 않고 새 공유를 만드는 데 아무런 문제가 없습니다. 어떻게 그럴 수 있죠?
도움이 될 것입니다.
가 제한된 로그온 세션에서 실행하는 동안 Windows 7에서 공유 폴더를 programmaticaly 할 수 있는지 궁금 윈도우 : NetShareAdd은 ERROR_ACCESS_DENIED를7 폴더 공유 API
1)을 반환합니다. 2) 명령 행 net share는 동일하게 말합니다. 3) 그러나 탐색기는 UAC를 호출하지 않고 새 공유를 만드는 데 아무런 문제가 없습니다. 어떻게 그럴 수 있죠?
도움이 될 것입니다.
Windows 7의 UAC는 Vista보다 덜 엄격합니다. Windows 7은 Explorer를 신뢰할 수있는 응용 프로그램으로 간주하므로 UAC 프롬프트없이 자동으로 공유를 만듭니다 (제어판에서이 동작을 변경할 수 있음).
귀하의 응용 프로그램은 신뢰할 수있는 응용 프로그램이 아닙니다. (신뢰할 수 있지만 운영 체제는 신뢰할 수 없습니다.) 아마도 응용 프로그램에서 관리자 권한을 명시 적으로 요구하지 않았을 수도 있습니다. 이 경우 Windows 7은 프로그램을 권한이없는 것으로 간주하고 액세스를 거절합니다. 그 이유는 오류 메시지입니다.
해결책은 requireAdministratior의 ExecutingLevel을 요청하는 프로그램에 매니페스트를 추가하는 것일 수 있습니다. 예를 들어 Demand UAC elevation for an application by adding a manifest을 참조하십시오. 하지만 전체 응용 프로그램은 관리자 권한으로 실행됩니다. 좀 더 상세한 솔루션이 있습니다.
관리자가 아닌 세션을 의미합니까? –
아니요, 관리자이지만 실제 관리자 (UAC)가 아닙니다 – GoAvs
Explorer가 실제로 공유를 만들고 있습니까? 예를 들어 이미 공유 된 항목의 하위 디렉토리를 공유하면 방패가 표시되지 않습니다. 그러나 이미 공유되지 않은 것을 공유하려고하면 방패 아이콘이 표시됩니다. –