2013-07-10 5 views
0

배경 정보PowerShell을 클라이언트

나는 현재 요청을 전달하기 위해 INI 파일 시스템을 사용하고/클라이언트 (데스크탑 PowerShell을 양식)와 서버 사이의 변수.

현재 시스템은 PowerShell 양식으로 작동하여 서버의 폴더에있는 INI 파일을 만듭니다. 예약 된 작업은 5 분마다 PowerShell 스크립트를 실행하는 서버에 설정됩니다. 스크립트는 폴더 내의 모든 INI 파일을 읽고 INI 파일 내용에 따라 다르게 처리합니다.

내가 위에서 만 요청 시스템의 일종을 사용하여 한 INI 파일 시스템을 복제 할

질문. PowerShell에는 요청 대기열 시스템 또는 이와 유사한 것을 사용하여 요청/변수 (클라이언트에서 서버)를 다른 스크립트로 보내는 방법이 내장되어 있습니까?

이 문제에 대한 조언은 건의 사항입니다.

+0

아마도 .net'System.Collections.Queue'을 사용할 수 있습니다. 여기를보세요 : http://blogs.msdn.com/b/powershell/archive/2011/04/04/scaling-and-queuing -powershell-background-jobs.aspx –

+0

'System.Collections.Queue'와 작업은 실행중인 스크립트에 대해 로컬이라고 생각합니다.클라이언트 스크립트가 원격으로 요청을 보낼 수 있도록 항상 서버에 보관 된 대기열이 필요합니다. – Richard

답변

0

서버에서 Windows Server를 실행하는 경우 MSMQ를 사용할 수 있습니다. 그것은 Windows Server OSes (2003,2008,2012)에 내장되어 있습니다. PS 스크립트에서 사용할 수있는 .NET 클래스가 있습니다. 다음은 개요 페이지입니다 : http://msdn.microsoft.com/en-us/library/windows/desktop/ms711472(v=vs.85).aspx. VB 및 VBScript 코드 예제가 있는데, 이는 PS로 쉽게 변환 할 수 있어야합니다.

서버의 앱이 대기열을 만들고 액티비티 디렉토리에 등록합니다 (http://msdn.microsoft.com/en-us/library/windows/desktop/ms707115(v=vs.85).aspx 참조). 서버 측 액세스 및 액세스를 전송하여 클라이언트 측을 받고 그것을 열어 양측은 큐를 열 필요가

(http://msdn.microsoft.com/en-us/library/windows/desktop/ms701440(v=vs.85).aspx 참조) 클라이언트

앱은 큐를 찾을 필요가있다. 클라이언트 측 큐로 전송

(http://msdn.microsoft.com/en-us/library/windows/desktop/ms700132(v=vs.85).aspx 참조)

서버 측 큐 (http://msdn.microsoft.com/en-us/library/windows/desktop/ms701293(v=vs.85).aspx)로부터 판독한다 (http://msdn.microsoft.com/en-us/library/windows/desktop/ms699823(v=vs.85).aspx 참조). 그런 다음 INI 파일에서 요청을 실행합니다.

OP는 클라이언트가 응답을 필요로하는지 여부를 나타내지 않습니다. 내가 말할 수있는 것에서 응답이 필요한 경우 다른 대기열, 즉 응답 대기열이 사용됩니다.

MSMQ가 옵션이 아니면 .NET TCP를 사용하여 소유 한 솔루션을 롤업 할 수 있습니다. 그 옵션을 누른 다음 어쩌면 WCF (Windows 통신 기초),하지만 그건 C#이나 VB를 사용해야합니다. .NET Remoting은 이전 기술이지만 WCF보다 사용하기 쉽습니다.

아마도 작업에 INI 파일이있는 powershell 작업을 사용할 수 있습니다. 작업은 서버 스크립트와 동일한 시스템에서 실행되고 디렉토리에 ini 파일을 놓은 다음 서버를 깨 웁니다. 뮤텍스 (Mutexes) 및 세마포 (Semaphores)와 같은 동기화 프리미티브에 대해서는 System.Threading 네임 스페이스를 참조하십시오.

많은 옵션이 있지만 모두 동일한 장단점이 있습니다.