2014-05-21 3 views
1

Sysinternals 실행을 자동화하기 위해 배치 파일을 만들려고합니다. 이것은 결국 Python 스크립트에 의해 자동으로 프로그램의 자격 증명을 높이기 위해 실행됩니다 (예, 이것은 나쁜 습관입니다. 예, "runas"등의 암호를 제공하는 방법이 있지만 이러한 해결책은 없습니다.)Sysinternals 실행을 자동화하는 일괄 파일

.\psexec \\my_IP_address -u DOMAIN\my_admin_account -p my_admin_password cmd 

을 다음

나는 일반 사용자로 명령 프롬프트를 열고 입력

) 나를 위해 일한 내가 거기에서

PsExec v2.0 - Execute processes remotely 
Copyright (C) 2001-2013 Mark Russinovich 
Sysinternals - www.sysinternals.com 


Microsoft Windows [Version 6.1.7601] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 

C:\Windows\system32> 

를 얻을 수있다 나는

0 입력 할 수 있습니다
.\psloggedon -l -x \\ip_address_of_remote_computer 

그리고 화면 인쇄 결과

PsLoggedon v1.34 - See who's logged on 
Copyright (C) 2000-2010 Mark Russinovich 
Sysinternals - www.sysinternals.com 

Users logged on locally: 
     DOMAIN\last_user_logged_in 

하지만 다음 배치 파일을 만들려고 할 때

cd pstools 
.\psexec \\my_IP_address -u DOMAIN\adminaccount -p adminpasword cmd 
cd pstools 
.\psloggedon -l -x \\ip_address_of_remote_computer 

내가 배치 파일을 실행할 때, 그것은 단지 처음 두 개의 명령을 실행

cd pstools 
.\psexec \\my_IP_address -u DOMAIN\adminaccount -p adminpasword cmd 

모든 명령을 실행하려면 어떻게해야합니까? ?

은에서 내가 명령 프롬프트를 열고 다음

답변

0

이것은 (스크립트로 나는 통합 할 계획 무언가이다) 권한이 상승하고, 영향을 원래 cmd를에 psloggedon 명령이 실행이 아닌 새로운 때문이다.

실행하려는 항목을 cmd의 매개 변수로 전달해야합니다. 예를 들어, 이것은 나를 위해 일한 :

psexec cmd /c "whoami & pause" 

을 그래서 당신은 또한 예를 들어 비슷한, 수행해야합니다

cd pstools 
.\psexec \\my_IP_address -u DOMAIN\adminaccount -p adminpasword cmd /c "cd pstools & psloggedon -l -x \\ip_address_of_remote_computer" 

또 다른 옵션, 내부 로직이 더 복잡 커질 경우 특히 유용을, 새를 만드는 것입니다 배치 파일을 복사하여 cmd에 매개 변수로 전달하여 실행합니다.