cygwin / unix-shell에 비해 Powershell의 장점은 무엇입니까


9

내가 알고있는 명백한 차이점은 Exchange와 같은 특정 MS 제품과 인터페이스 할 수 있다는 것입니다. 그러나 그러한 제품을 관리 할 필요가없는 경우 Powershell의 장점은 무엇입니까? Powershell을 배워야하는 이유는 무엇입니까 (bash와 cygwin에 능숙하다고 가정)?

답변:



18

가장 확실한 이점 : 파이프 라인에 텍스트 출력 (또는 레거시 명령)이없는 한 파이프를 통해 텍스트를 이동하는 것이 아니라 모든 속성과 메서드를 사용하여 .NET 프레임 워크 개체 인스턴스를 사용하는 것입니다.

이를 통해 로케일 및 언어 설정에 영향을받지 않는보다 표현력이 높고 모호한 파이프 라인 처리가 가능합니다 (예 : 날짜 또는 숫자 형식과 문자열을 일반적으로 문자열로 처리하는 방법).

이는 또한 스크립팅 환경에서 많은 .NET 프레임 워크 기능에 액세스 할 수 있음을 의미합니다.


6

패러다임에 대한 가치 판단에 들어 가지 않고 PowerShell의 주요 장점은 .Net 통합 및 무능입니다. Windows 2008 서버부터 기본적으로 번들로 제공되며 2003 및 2003 R2의 서비스 팩에로드됩니다.

공정하게하기 위해 스크립팅을위한 몇 가지 다른 선택이 있습니다 (예 : Perl 및 Python). Python은 기본 .Net 통합을 원하는 경우 IronPython을 사용하는 옵션도 제공합니다. 실제로 IronPython은 디렉토리에 놓기 만하면 만족스럽게 설치됩니다. 별도의 설치 단계없이 응용 프로그램에 간단하게 번들로 묶을 수 있습니다.

Powershell의 주요 강점은 양날의 칼입니다. .net 객체를 스트리밍하는 것은 매우 유용하고 장점이 있지만 구성 요소가 프레임 워크에서 훌륭하게 작동하는 능력에 대해 더 많은 가정을합니다. 실제로 작동하려면 cmdlet으로 항목을 래핑해야합니다. 텍스트 출력은 다소 낮은 수준이며 구문 분석이 필요하지만 프레임 워크에서 훌륭하게 재생되는 구성 요소에 대한 부담이 줄어 듭니다.

시간이 지남에 따라 훨씬 더 많은 Windows 에코 시스템 (MS 및 타사 구성 요소 모두)이 cmdlet 래퍼와 함께 제공되므로 Powershell과 함께 작동합니다. 이런 일이 발생하면 Powershell의 사례가 훨씬 더 강력 해집니다.

역사적으로, 관리 측면에서 Windows의 주요 전통적 약점 중 하나는 스크립팅 지원이 부족하다는 것입니다. MS는 몇 년 전에 이것을 인식했으며 몇 번의 시도 (예 : WSH)를 거친 후 Powershell은 그 결함을 해결하기 위해 지금까지 MS의 가장 확실한 노력입니다.


2

powershell의 가장 큰 승리는 텍스트를 구문 분석하거나 sed 및 awk를 파문하지 않고도 무엇이든 파이프 할 수 있다는 것입니다. 이러한 불쾌한 물체를 적도에 끌어 들이지 않고 Powershell 은 파이프 라인에서 명령을 연결하기위한 자동 sed 및 awk를 갖는 것으로 생각하십시오 .


2

장점 :-

  1. 작업 자동화 :-1000 대의 컴퓨터에 사용자를 추가하는 것과 같은 작업은 지루한 작업입니다. 그러나 powershell의 도움으로 간단한 스크립트를 작성해야하며 해당 스크립트가 실행되면 모든 클라이언트가 자동으로 구성됩니다. 따라서 단계를 자동으로 반복하여 시간을 절약합니다. 중앙 관리는 일회용 백업 및 복원에 사용되는 반면 Windows PowerShell 백업 / 복원 스크립트는 Windows 작업 스케줄러를 사용하여 개발 및 예약 할 수 있습니다. Windows PowerShell은 프로덕션 데이터베이스 대신 SQL 스냅 샷에 대해 실행할 수 있다는 이점이 있습니다. Windows PowerShell 명령의 매개 변수 중 하나를 사용하면 SQL 스냅 샷이 생성 된 다음 Windows PowerShell이 ​​프로덕션 데이터베이스 대신 스냅 샷에 대해 작업을 실행합니다. 이렇게하면 백업 작업이 프로덕션 환경에 미치는 리소스 영향이 줄어 듭니다. Windows PowerShell을 사용하면 SharePoint 관리자는 백업 또는 복원 옵션을보다 세밀하게 제어 할 수 있습니다.

  2. 원격 기능 개선 :-중요성은 두 가지입니다. 첫째, Windows 7 데스크톱은 PowerShell 명령을 사용하여 서버와 통신 할 수 있습니다. 결과적으로 Windows 7 랩톱을 사용하는 기술자는 PowerShell 스크립트를 실행하여 서버를 원격으로 구성 할 수 있습니다. 둘째, 서버에있는 PowerShell로 작성된 클라이언트 로그온 스크립트는 Windows 7에서 더 쉽게 실행될 수 있습니다. 또한 Powershell을 사용하면 원격 시스템을 쉽게 제어하고 중요한 작업을 수행 할 수 있으며 이러한 변경 사항을 대규모로 쉽게 적용 할 수 있습니다. 원격은 네트워크 리소스를 사용합니다. 따라서 Powershell로 작업 할 때 GUI를 사용하지 않으므로 특정 작업에 필요한 대역폭이 줄어들고 네트워크 과부하 문제가 해결됩니다.

  3. 일관성 :-작업을 완료하기위한 정해진 절차가있는 경우, Windows Powershell을 사용하면 단계를 놓치지 않고 최대한 자동화 할 수 있으며 Powershell에서 자동화 할 수없는 내용을 묻는 메시지를 표시하게됩니다.

  4. .NET 지원 :-Powershell은 .NET 프레임 워크를 지원합니다. 따라서 모든 시스템 기능을 powershell 스크립트에 쉽게 추가 할 수 있으므로 스크립트를 개발할 때 프로그래머에게 도움이됩니다. 따라서 VDI 작업을 자동화하는 것이 훨씬 쉽고 간단하며 효율적입니다.

  5. 수동 작업 감소 :-이제 관리자는 스크립트를 작성하여 가상 머신의 설정을 원격으로 생성, 삭제 또는 수정할 수 있습니다. 그는 개별 PC로 가서 작업을 수행 할 필요가 없습니다. 또한 모든 컴퓨터에서 작성된 스크립트를 사용할 수 있습니다. 따라서 관리자는 반복해서 다시 작성할 필요가 없습니다.

  6. 재사용 성 :-특정 작업을 수행하기 위해 작성된 스크립트는 나중에 사용하기 위해 저장 될 수 있으며 다른 스크립트와 결합하여 다른 작업을 수행 할 수도 있습니다. 따라서 스크립트를 실행하여 반복적 인 작업을 훨씬 간단한 방식으로 수행 할 수 있습니다. 이를 통해 관리자는 시스템 구성에 소요되는 시간과 비용을 절약 할 수 있습니다.

  7. 파이프 라이닝 지원 :-Powershell의 가장 큰 장점은 텍스트를 구문 분석하지 않고도 무엇이든 파이프 할 수 있다는 것입니다. 하나의 명령 출력을 새 세트에 대한 입력으로 제공 할 수 있으므로 복잡한 작업을 해결할 수 있습니다.


0

Cygwin이 모든 Windows 버전에서 사용 가능한 것은 아닙니다. 마지막으로 64 비트 시스템에서 의심 스러웠습니다. Powershell은 Windows의 기본 명령 셸이되었으며 Windows 시스템의 모든 리소스에 대한 "기본"액세스를 제공합니다.


64 비트 Vista에서 cygwin을 사용하고 완벽하게 작동합니다.
lajos
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.