PowerShell 5.1을 설치하기로 결정한다면,이 프로세스를 자동화하기 위해 몇 가지 스크립트와 함께 기술적인 방법론을 만들었습니다. 면책 조항:이 게시물에 언급된 모든 코드는 현재의 상태 그대로 제공됩니다. 일부는 작동할 수 있고, 일부는 환경에서 작동하지 않을 수 있지만, 아무것도 가지고 시작할 것이 없다면 템플릿으로 사용할 수 있습니다.
PowerShell 버전을 확인하는 데 도움이 필요한 경우, PowerShell 버전 확인 방법 (모든 방법!)을 확인하는 것을 추천합니다.
단계 #1: 발견
전사적인 PowerShell 업그레이드 수행의 단계 #1은 발견입니다. 현재 상황은 어떻습니까? 어떤 것을 이해하지 않고는 변경할 수 없으며, 놀랍게도 많은 조직들은 자신들이 어떤 것을 가지고 있는지 전혀 모릅니다!
기존 운영 체제
첫 번째 작업은 PowerShell 5.1로 업그레이드하려는 현재의 운영 체제를 이해하는 것입니다. 하지만 일부 시스템에서는 이미 PowerShell 5.1을 설치하기로 결정했지만 모르는 경우가 있을 수 있습니다. PowerShell 5.1은 Windows 10 Anniversary Update와 Windows Server 2016의 RTM 버전에 묶여있는 도구로 출시되었으므로 해당 운영 체제 이상을 사용하고 있다면 이미 사용할 준비가 되어 있습니다.
다른 시스템의 경우 목록을 수집해야 합니다. SCCM과 같은 시스템 관리 도구가 없다면 걱정하지 마세요! PowerShell을 사용하여 PowerShell을 도와드릴 수 있습니다! Active Directory가 있는 경우 아래의 간단한 원라이너로 전체적인 상황을 파악할 수 있습니다.
당신의 환경은 어떻게 되나요? 구식 Windows XP 또는 Server 2003 기기가 있나요? 그렇다면, 운이 없을 겁니다. 그러한 기기에서는 PowerShell v2가 최상이지만, 여전히 환경에 이런 기기들이 있다면, PowerShell은 가장 작은 문제일 겁니다! Windows 7 SP1/Windows Server 2008R2 SP1 또는 그 이상의 운영 체제에서는 PowerShell 5.1을 설치할 수 있습니다.
전제 조건 목록 작성
해당하는 운영 체제에서는, PowerShell 5.1을 사용하기 전에 몇 가지 전제 조건과 요구 사항을 충족해야 합니다.
- 적어도 .NET Framework 4.5.2가 설치되어 있어야 합니다. 이는 설치 요구 사항은 아니지만, 일부 기능이 작동하지 않을 수 있으므로 이미 설치해주세요!
- PowerShell 5.1 미리보기가 설치되어 있어서는 안 됩니다.
- PowerShell v3이 설치된 Windows 7 또는 Server 2008R2 기기에서는,
PSModulePath
의 값을 저장하거나 먼저 v4로 업그레이드해야 합니다. - Windows 7 또는 Server 2008R2 기기에서 DSC를 사용하는 경우, WinRM을 활성화해야 합니다.
- 설치 후 시스템을 재부팅해야 하므로, 이를 예약해주세요.
나는 게으르기 때문에 너도 그럴 것이라고 생각해서, 너가 무슨 준비 작업이 필요한지 알아내기 시작할 수 있도록 작은 스크립트를 만들어봤어. WinRM 요구 사항을 위해, 각 컴퓨터에 접근하기 때문에 내 이 스크립트에서 코드를 포함할 수도 있다. 그러나 이 접근 방식은 각 컴퓨터에 PowerShell Remoting이 활성화되어 있어야 한다는 것을 알아두어.
기존 스크립트가 PowerShell 5.1에서 실행되도록 보장하십시오.
PowerShell 팀의 구성원들이 직접 PowerShell 5.1에서 모든 스크립트가 작동한다고 말했더라도 항상 그렇지 않을 수 있습니다. 중요한 비즈니스 프로세스를 실행하는 코드의 경우, 항상 5.1을 다른 컴퓨터의 동일한 운영 체제에 설치하고 해당 방법으로 모든 테스트를 실행하는 것을 추천합니다. 그렇게 하면 확실합니다.
단계 2: 배포
모든 사전 요구 사항을 해결했으며 PowerShell 5.1을 배포할 준비가 되었다면, 다음 단계는 배포하는 것입니다! 5.1을 배포하는 방법은 다른 소프트웨어 배포와 유사합니다. 사용 중인 도구에 따라 다르게 처리할 수 있습니다. 예를 들어, Active Directory가 있고 GPO를 사용하려는 경우 해당 경로를 선택할 수 있으며, SCCM도 마찬가지입니다. 제품에 중립적인 방법을 사용하려고 하기 때문에, 당연히 PowerShell로 어떻게 할 수 있는지 알려드리겠습니다!
먼저, 로컬 컴퓨터에 C:\PowerShellDeployment
라는 폴더를 만듭니다. 그런 다음, 해당 폴더에 필요한 버전의 PowerShell을 다운로드하고 동시에 psexec 복사본을 가져옵니다. 그다음 PowerShell은 자체적으로 업그레이드할 수 없으므로, 예전부터 만들어 놓은 작은 VBScript를 활용해야 합니다. 아래에 처음 시작할 수 있는 작은 스크립트가 있습니다. 이를 C:\PowerShellDeployment\installPs.vbs
에 저장하겠습니다.
로컬 기기에 VBS를 저장한 후, 아래와 같이 PowerShell 스크립트를 생성하고 어딘가에 보관하세요.
위 스크립트를 실행하면, 컴퓨터가 온라인인지 확인한 후, PowerShell 설치 프로그램과 VBS를 원격 컴퓨터로 복사하여 실행하고, 작업이 완료되면 정리하고 컴퓨터를 재시작합니다. 언제나 유지 보수 창에서 이 작업을 예약하세요! PowerShell 설치에는 재부팅이 필요하며, 이 스크립트는 자동으로 재부팅을 수행합니다.