2012-12-01 1 views
9

시스템 사용자로 명령을 실행하면 "핸들이 잘못되었습니다"psexec에 - 이것은 사용자가 양산 명령 프롬프트에서 실행하면 잘 작동 명령입니다

PSEXEC \\xxx.xxx.xxx.xxx -u xxxx -p xxxx -accepteula cmd /c "TYPE C:\Pyxislog\PYXIS01.log|Find/i "%ID%"" >nul 

그러나 내가 이것을 실행하려고하면, 시스템-호출 cmd를 프롬프트에서 내가 얻을이 :

그것은이 시스템 사용자로 실행 원격 소프트웨어 도구를 통해 배포되기 때문에, 시스템 사용자로 실행하는
Couldn't access 10.219.149.65: 
The handle is invalid. 
Connecting to 10.219.149.65... 

. 이것은 psexec의 한계입니까? 예, 사용자 이름과 암호는 관리 권한이 있습니다.

답변

8

을 많은 연구, 그것은 다른 사용자로 작업을 실행 포함 시스템 사용자에 대한 모든 네트워크 액세스를 차단하는 Windows 보안 기능입니다. 필자가 발견 한 가장 좋은 방법은 관리자 계정에서 psexec을 실행하도록 예약 된 작업을 만드는 것입니다.

1

Psexec은 -s 매개 변수를 추가하여 시스템 사용자 계정을 사용하도록합니다.

psexec을 사용하여 원격 컴퓨터에서 일부 작업을 시작하고 데이터베이스 테이블에 로그인합니다. 우리가 -s 매개 변수 사용자를 사용하지 말아 도메인 \ 관리자로 표시하지만 -s 매개 변수를 사용하는 경우 유효하지 않은 핸들 메시지가이 확인을 위해 그것은 "시스템"

로 나타납니다 후

https://superuser.com/questions/200938/psexec-the-handle-is-invalid

+0

입력 해 주셔서 감사합니다. 그러나 제가 의미하는 바를 오해 할 수도 있습니다. 내가 배치 파일을 사용자 계정으로 실행 중이기 때문에 전체 배치 파일을 실행하면 선이 제대로 작동합니다. 그러나 수동으로 실행하는 것과 동일한 컴퓨터에 패키지를 배포하려고하면 배치가 SYSTEM 사용자로 배치 파일을 실행하기 때문에 실패합니다. 원격 시스템의 시스템 계정에 액세스하는 데 PSExEC이 필요하지 않으며 관리자 계정에 액세스해야합니다. – bill

+0

psexec 로그인에서 동일한 사용자 계정을 사용하고 있습니까? 당신이 같아요 –

+0

예, 예를 들어, 내가 시작> 실행> CMD로 이동하여 연 CMD 창에 (xxxx가 채워진) PSEXEC에 대해 위에 보여준 명령을 복사하여 붙여 넣습니다. 그런 다음,'psexec -i -s cmd.exe'를 실행하여 SYSTEM 사용자로 다른 CMD 창을 호출 한 다음 첫 번째 CMD 창에서했던 것과 똑같은 명령을 붙여 넣습니다. 그러면이 오류가 다시 생성됩니다. – bill

1

-h 플래그를 사용해 보셨습니까?

technet : -h 대상 시스템이 Vista 이상인 경우 계정의 상승 된 토큰 (사용 가능한 경우)을 사용하여 프로세스를 실행하십시오.

전체 페이지 : https://technet.microsoft.com/en-us/sysinternals/psexec.aspx

+0

이 프로세스는 사용자가 아닌 NT Authority \ SYSTEM 계정으로 실행됩니다. 그래서 사용할 고도 표식이 없습니다. – bill

0

그것은 관련이 될 수도 있지만 실제로 연결이 아래로 기계에 가면 나는이 "핸들이 잘못되었습니다"오류가 발생했습니다 발견 - 즉 기계가 잠 들었다.

관련 문제