2016-09-16 2 views
1

나는 예상대로 내 로컬 컴퓨터에서 열려 다음 코드 메모장을 실행하면 :실행하고 원격 컴퓨터에서 메모장을 실행

Invoke-Command {Invoke-Expression '&"C:\windows\system32\notepad.exe"'} 

내가 코드에 -computername을 추가하고 내 로컬 컴퓨터 이름 I를 제공 할 때 액세스 거부 메시지를받습니다.

Invoke-Command -ComputerName computername {Invoke-Expression '&"C:\windows\system32\notepad.exe"'} 

여기에서 어디로 가야할지 확실하지 않습니다. 내가 본 사이트는 로컬 컴퓨터에 대한 예제를 제공합니다.

원격 컴퓨터에서 메모장을 열고 싶습니다.

감사합니다.

+0

원격 PC에 로그인 한 경우에도 세션에서 실행되지 않으면 원격 명령의 특정 세션에서 실행됩니다. 실제로 달성하려는 것은 무엇입니까? – BugFinder

답변

2

원격 컴퓨터에 자격 증명이 필요합니다. -Credential 인수를 전달해야합니다. 그 외의 결과는 기대했던 것과 다를 수 있습니다. 메모장 프로세스가 시작되지만 응용 프로그램 자체는 표시되지 않습니다. 그 이유는 원격 컴퓨터에 아무도 로그인하지 않았거나, 로그인 한 사람이 여러 명이거나, 누구에게 응용 프로그램을 보여줄 수 있습니까?

사용자 세션에 실제로 응용 프로그램을 표시하려면 먼저 세션 ID를 가져온 다음 PSexec 또는 PAexec와 같은 도구를 사용해야하지만 매우 나쁜 습관입니다.

+0

동일한 사용자가 항상 컴퓨터에 연중 무휴로 로그온합니다. 예, PowerShell 코드를 실행할 때 메모장을 열고 싶습니다. PSexece 사용자는 원하지 마십시오. 감사. – lmalave

+0

@lmalave :'psexec'을 사용하고 싶지 않은 이유는 무엇입니까? [WMI] (http://www.codeproject.com/Articles/31113/Create-a-Remote-Process-using-WMI-in-C)를 사용할 수도 있습니다. –

+0

회색으로되어있어 창문이 너무 쉽거나 신뢰할 수 없다고 기대하지 마십시오. 여기에 몇 가지 추가 정보가 있습니다. http://serverfault.com/questions/690852/use-powershell-to-start-a-gui-program-on-a-remote-machine –

관련 문제