2011-03-30 6 views
1

그래서 PowerShell 스크립트를 통해 다음을 수행하려고했습니다.PowerShell에서 원격 컴퓨터에 .exe 설치

컴퓨터 목록을 보려면 다음을 수행하십시오.

  • 사용 가능한지 보려면 컴퓨터를 핑 (WMI를 통해)하십시오. 그렇지 않다면 로그 & break,
  • 에서 계속하십시오. Invoke-WmiMethod를 통해 C : \ 드라이브의 루트에 폴더를 생성하십시오. 실패 할 경우 & break를 기록하십시오. 성공하면
  • 에서 계속하십시오. 다른 컴퓨터의 파일 (.exe 포함)을 해당 폴더에 복사하십시오. 실패 할 경우 & break를 기록하고 성공하면
  • 에서 계속 실행합니다. Invoke-WmiMethod를 통해 .exe 파일을 실행하십시오. 실패하면 log & break, 성공하면 로그 성공,이 컴퓨터에서 완료)
  • 실행중인 문제는 .exe (프로그램 설치 관리자) 실행입니다. - Invoke-WmiMethod 명령은 일반적으로 작동하지만 일부 컴퓨터에서는 멈추지 않고 멈 춥니 다. 설치 작업에서 시간 초과를 설정할 수 있도록 전체 작업을 시도해 보았습니다. -AsJob 매개 변수가있는 Invoke-WmiMethod 명령은 항상 Failed를 반환합니다.; Start-Job -Computer $compname { Invoke-WmiMethod...Completed을 반환하지만 설치가 수행되지 않습니다. 원격 컴퓨터에 Windows 방화벽이 해제되어 있고 UAC가 꺼져 있는지 확인해야하지만 여전히 Invoke-WmiMethod 명령을 실행하면 예, 전 PS를 도메인 관리자로 실행 중이므로 대상 컴퓨터에 대한 권한이 있어야합니다.)

    그래서 PowerShell의 모든 것들에 대한 신참이되었으므로 지금은 다음에 시도 할 대상을 완전히 잃어 버렸습니다 ... PowerShell 스크립트에서 로 원격 시스템의 .exe를 실행하는 방법은 어땠습니까? 한 가지주의 할 점은 대상 컴퓨터가 모두 PowerShell [V1 | V2] (대상 PC는 XP, Vista 및 7이 혼합되어 있음)을 실행하지 않거나 원격 기능을 사용할 수 없다는 점입니다. 설치 프로그램이 설치 프로그램이 .msi가 아니며 .msi가 아니며 변경할 수 없습니다 (타사 앱).

    미리 알려 주셔서 감사합니다. 여기 방향 (그리고 몇 가지 샘플 코드를주세요 ...)

+0

모든 컴퓨터에 WinRM이 설치되어 있습니까? 이 컴퓨터를 PowerShell 2.0으로 업그레이드 할 수있는 기회는 무엇입니까? – Kev

답변

1

이 스크립트가 실행되는 시스템 (관리 스테이션 또는 중앙 시스템)에서 실행중인 OS는 무엇입니까? Windows XP의 경우 WMI 및 -asJob과 관련된 알려진 문제점이 있습니다.

확인이 : WMI Query Script as a Job

이러한 경우에, 나는 윈도우 7 시스템으로 이동 한 다음 원격으로 다른 시스템에 .EXE 설치 스크립트를 실행하는 것이 좋습니다 것입니다.

+0

안녕하세요 Ravikanth - 스크립트가 Windows 7 시스템에서 실행 중입니다 ... 행 아웃중인 내 테스트 대상이 Windows Vista 시스템이되었습니다 (지금까지) –

+0

흥미 롭습니다! PSEXEC 같은 것을 시도 했습니까? 나는 http://www.ravichaganti.com/blog/?p=1888에서 모범을 보인다. – ravikanth

+0

예, 제 생각이었습니다. 우리는 4 단계 (하나의 PC에서)를 수행하고 PsExec를 사용하는 quick-n-dirty 배치 스크립트를 가지고 있으며 작동합니다. 어쨌든, 당신이 연결된 스크립트를 수정하려고하는데'Get-PSCredential' 함수는'인자가 '문자열'이므로 빈 문자열로 바인딩 할 수 없습니다 .' ($ password 변수를 변환합니다.) ??? –

관련 문제