2009-03-25 9 views
1

Powershell 스크립트를 개발하여 응용 프로그램 모음에 업데이트를 배포했습니다. SQL Server 데이터베이스 업데이트가 포함됩니다.Powershell을 사용한 응용 프로그램 배포

다음으로 100 개 이상의 서버에서이 스크립트를 실행하는 방법이 필요합니다. 각 서버에 수동으로 연결하지 않아도됩니다. "Powershell v2 with remoting"은 여전히 ​​CTP에 있기 때문에 옵션이 아닙니다.

WinRM이 포함 된 Powershell v1이 가장 유망 해 보였지만 스크립트에서 피드백을 얻을 수 없습니다. 스크립트가 실행되지만 예외에 대해 알아야합니다. 스크립트는 로그 파일을 생성합니다. 로그 파일의 내용을 "클라이언트"(원격 호출을 수행하는 로컬 컴퓨터)로 다시 보내는 방법이 있습니까?

답변

1

빠른 답변은 아닙니다. 긴 버전은 가능하지만 많은 해킹이 필요합니다. 작년에 PowerShell 2를 사용하여 매우 유사한 배포 스크립트/시스템을 개발했습니다. 리모팅 기능이 우리가 CTP 상태를 보완하는 주된 이유입니다. WinRM이 포함 된 PowerShell 1은 기껏해야 색다른 것입니다. 말씀 드렸듯이, 확인이나 실패와는 별도로 실제 피드백이 없습니다.

나는 매우 비표준이며 방화벽에 의해 차단 될 수있는 PsExec을 사용하여 포함 된 대안으로 생각했습니다. 다른 접근 방법은 MS의 System Center와 같은 시스템 관리 도구를 사용하는 것이지만 작은 못에 대한 큰 망치 일뿐입니다. 그래서 독을 골라야합니다 ...

0

powershell 출력을 캡처하는 가장 쉬운 방법은 start-transcript cmdlet을 사용하여 콘솔 출력을 파일로 파이프하는 것입니다. 각 스크립트의 콘솔 출력과 함께 중앙 파일 공유로 로그 파일을 보내고 스크립트 이름과 날짜가 기록 된 로그 파일의 이름을 지정하는 작은 스크립트를 작은 스크립트로 작성했습니다. 어떻게 된 거예요. 더 이상의 처리를 위해 데이터베이스에 모든 로그 파일을 파이프하기가 너무 어렵지 않습니다. 아마 당신의 모든 문제를 해결하지 못할 것이지만 "데이터를 다시 얻는"부분에 대해서는 분명 도움이 될 것입니다.