vCenter 6.5를 학습 중이며 커뮤니티 샘플이 많이 도움이되지만이 특정 상황에서는 어떤 일이 발생하는지 파악할 수 없습니다. 스크립트 :pyvmomi를 통해 프로그램을 실행하면 프로세스가 생성되지만 그 이후에는 아무 것도 발생하지 않습니다.
from __future__ import with_statement
import atexit
from tools import cli
from pyVim import connect
from pyVmomi import vim, vmodl
def get_args():
*Boring args parsing works*
return args
def main():
args = get_args()
try:
service_instance = connect.SmartConnectNoSSL(host=args.host,
user=args.user,
pwd=args.password,
port=int(args.port))
atexit.register(connect.Disconnect, service_instance)
content = service_instance.RetrieveContent()
vm = content.searchIndex.FindByUuid(None, args.vm_uuid, True)
creds = vim.vm.guest.NamePasswordAuthentication(
username=args.vm_user, password=args.vm_pwd
)
try:
pm = content.guestOperationsManager.processManager
ps = vim.vm.guest.ProcessManager.ProgramSpec(
programPath=args.path_to_program,
arguments=args.program_arguments
)
res = pm.StartProgramInGuest(vm, creds, ps)
if res > 0:
print "Program executed, PID is %d" % res
except IOError, e:
print e
except vmodl.MethodFault as error:
print "Caught vmodl fault : " + error.msg
return -1
return 0
# Start program
if __name__ == "__main__":
main()
내가 콘솔에서 실행, 성공적 내가 언급 PID와 과정을 볼 작업 관리자에서
Program executed, PID is 2036
, 그것은 올바른에 의해 생성 된 대상 가상 머신과 인쇄에 연결 사용자이지만 프로세스 (calc.exe)의 GUI가 없습니다. RMB 클릭으로 프로세스를 "확장"할 수 없습니다. 이 프로세스는 특수한 매개 변수를 사용하여 생성되었거나 다른 세션에서 생성 된 것 같습니다. 또한 배치 파일을 실행하여 실제로 실행되는지 확인하려고했으나 대답이 '아니오'일 때 배치 파일이 실행되지 않습니다.
어떤 도움, 조언, 단서도 좋을 것입니다.
P. 다른 스크립트를 시도하고 파일을 VM에 성공적으로 전송했습니다.
P.P.S. 미안해, 내 영어로.
업데이트 : 이러한 모든 프로세스는 세션 0에서 시작됩니다.