Powershell 스크립트를 Windows가 아닌 워크플로와 통합하는 방법은 무엇입니까?

Powershell 스크립트를 Windows가 아닌 워크플로와 통합하는 방법은 무엇입니까?

나는 아침에 새 기계 냄새를 좋아합니다.

저는 인프라 전반에 걸쳐 여러 개별 시스템이 포함된 시스템 생성 워크플로를 자동화하고 있습니다. 그 중 일부에는 Solaris 호스트의 15년 된 Perl 스크립트, PXE 부팅 Linux 시스템 및 Windows Server 2008의 Powershell이 ​​포함되어 있습니다.

각 개별 부분을 스크립팅할 수 있고 Linux 및 Unix 자동화를 통합하는 것은 매우 간단하지만 Powershell 스크립트를 나머지 프로세스에 안정적으로 연결하는 방법에 대해서는 잘 모르겠습니다.

프로세스가 Linux 호스트에서 시작되면 Apache 서버에 있는 웹 애플리케이션으로 끝날 것이라고 생각하기 때문에 선호하지만 Windows에서 시작해야 한다면 주저 없이 괜찮습니다.

나는 이상적으로 다음과 같은 것을 좋아할 것입니다.psexecLinux가 Windows에 대해 실행되도록 하려면 다음과 같은 방향으로 대답해야 합니다.시그윈, 그리고 그들이 쏟은 모든 노고에 감사하지만,옳다고 느꼈다, 내 말이 무슨 뜻인지 알면. 데스크탑에 적합하고 많은 기능을 제공하지만 Windows 서버는 Windows 서버처럼 취급되어야 하며 개자식 Unix 시스템이 아닌 Windows 서버처럼 취급되어야 한다고 생각합니다.실제로유닉스). 어쨌든, 이것이 마지막이자 유일한 선택이 아니라면 Cygwin을 사용하고 싶지 않습니다.

그래서 제가 묻는 것은 Linux에서 Windows 컴퓨터에서 작업을 실행할 수 있는 방법이 있는지에 관한 것입니다. Cygwin이 없으면. 나는 "바보야, 모두가 Cygwin을 사용하니, 짜증내고 처리해"를 포함한 아이디어와 제안에 열려 있습니다. 미리 감사드립니다!

답변1

나는 바로 이 문제를 해결하기 위해 몇 시간을 보냈고 결국 두 가지 문제로 끝났습니다.생존 가능한옵션(실행 불가능한 옵션이 많이 있습니다):

  1. WinRM 세션이 작동하는 방식으로 도메인화되고 설정된 WebAPI를 호스팅하는 IIS 서비스를 사용하여 Windows 상자를 구축합니다.
  2. 시그윈

두 번째 옵션을 사용하면 실제 Windows 비트를 얻기 위해 GNU/Posix 추상화 계층을 통과하는 데 어려움을 겪게 됩니다. 당신이 할 수 있는 일이 제한됩니다.

첫 번째 옵션은 전체 기본 스택 Windows 설치 위에 직접 작성하는 웹 기반 추상화 계층을 거의 구축합니다. 작업을 기꺼이 수행하려는 경우 Linux 마스터 서버는 필요한 작업을 수행하기 위해 여러 번의 컬 호출만 수행하면 됩니다. 콜백 시스템을 구축하는 데 훨씬 더 많은 노력이 필요하기 때문에 이는 스크립트를 실행하고 잊어버릴 때 가장 잘 작동합니다.

답변2

이전 작업이나 반환된 결과에 따라 여러 호스트에서 기본 스크립트를 시작할 수 있는 교차 플랫폼 예약 또는 작업 흐름 자동화 소프트웨어를 구입할 수도 있습니다. 대기업에서는 이러한 작업을 수행하는 Tivoli, UC4, Espresso(현재 CA dSeries)와 같은 소프트웨어를 사용하고 있으며 저는 이러한 작업을 수행해야 하는 대기업에서 이를 사용해 왔습니다. 참고로, 이들은 종종 Oracle 작업과 같은 항목에 대한 기본 지원을 제공하여 귀하가 보고 있는 가격표에 대한 아이디어를 제공합니다.

(이전 직장에서는 Cygwin도 사용했습니다.그래도, 워크로드가 플랫폼 간에 이동할 때 수정 없이 동일한 Perl 스크립트를 사용할 수 있도록 했습니다. 많은 재미.)

@sysadmin1138이 제안한 것처럼 직접 구축해 볼 수도 있습니다. 그것은 재미있는 프로젝트가 될 것이며, 첫 번째 시도에서 금융 내보내기가 실패할 때 새벽 2시에 호출을 받지 않고 사용할 수 있을 만큼 견고하게 끝날 수도 있습니다.

답변3

Powershell v3.0에 도입된 Powershell 웹 액세스 기능을 사용하겠습니다. 이를 통해 Linux 호스트에서 Powershell 스크립트를 사용할 수 있습니다.

답변4

항상 텔넷이 있기 때문에 나중에 얼마나 역겨운 느낌을 원하십니까 :)

그런데 PowerShell 스크립트를 호출하기 위해 Linux 서버가 필요한 이유는 무엇입니까? Linux 서버가 단순히 tftp를 통해 올바른 boot.wim 이미지를 PXE 부팅 호스트에 전달하도록 워크플로를 재설계할 수 있습니까? 과거에는 Windows 파일 서버에 다른 응답 파일이 포함된 Windows 이미지를 유지하고 Linux 호스트에서 tftpd를 사용하여 사용자 지정 WinPE 부팅 이미지를 전달하는 행운을 누렸습니다. 그런 다음 응답 파일에서 올바른 PowerShell 스크립트를 호출하도록 할 수 있으며 Cygwin과 같은 플랫폼 간 문제를 처리할 필요가 없습니다.

관련 정보