Adam The Automator (한국어)

PowerShell 에서는 똑같은 일을 할 수있는 엄청나게 많은 방법이 있습니다(또는 그것에 가깝습니다). 이 블로그 게시물에서는 로컬 및 원격 컴퓨터에있는 모든 방법 확인 PowerShell 버전을 배우게됩니다. 우리는 나쁜 방법과 나의 권장 방법을 다룰 것입니다.

하고 싶은 경우에서 가 PowerShell 초보자를 PowerShell,나는 추천을 삼키려는 듯이 무료 미니는 물론 건물에 PowerShell 도구입니다. 이것은 Adam The Automator 의 전체 설명과 지침이 포함 된 단계별 자습서입니다!,

Powershell 버전을 확인하는 다양한 방법을 보여주는 웹 사이트가 있습니다. 그러나 그들 모두의 포괄적 인 목록을 컴파일 한 것은 없습니다. 나는 그것을 바꾸기로 결정했다.

이러한 모든 방법은 Windows PowerShell 과 PowerShell Core 모두에서 작동해야합니다. 이러한 방법은 Windows PowerShell 버전 1.0 에서 PowerShell7 까지 모든 방법을 작동해야합니다.,

할 수 있는 방법을 알아 버전의 PowerShell 실행하고 있습니다:

  1. (Get-Host).Version속성
  2. $host.Version속성
  3. 레지스트리(Windows PowerShell 만)
  4. $PSVersionTable.PSVersion속성

을 나누자는 모든 방법을 찾기 위해 버전의 PowerShell 적어도에서 가장 권장하는 방법입니다.

목차

Get-Host

PowerShell 에는 호스트로 알려진 개념이 있습니다. 호스트는 PowerShell 엔진을 호스팅하는 프로그램입니다., 그것은 PowerShell 엔진 자체가 아닙니다.PowerShell 콘솔 또는 통합 터미널이있는 코드 편집기는 PowerShell 호스트입니다.

호스트는 PowerShell 자체와 완전히 독립적 인 버전을 가질 수 있습니다. 이것은 많은 신규 이민자에게 속일 수 있습니다. 왜 그런지 보여 드리겠습니다.

(Get-Host).Version를 실행하면 PowerShell 엔진 버전 일 수있는 것처럼 보이는 버전 번호를 반환한다는 것을 알 수 있습니다. 외모는 속일 수 있습니다.

아래 windows PowerShell5.1 에서Get-Host를 실행했으며 5.1.17134.858 과 함께 돌아 오는 것을 볼 수 있습니다., 이것은 합법적 인 버전처럼 보입니다.

그러나 때로는 실행할 경우Get-Host에서는 통합 터미널 버전을 동일하지 않습니다. 일반적으로 호스트가 동일한 버전의 엔진을 나타낼 것이지만 항상 그렇게 할 필요는 없습니다.

체크 Powershell 버전을 통해 얻을 호스트에서 원격 컴퓨터

하더라도Get-Host으로 돌아 것 같은 버전을 실행하는 경우에는 로컬 컴퓨터,그것은 결코에서 원격 컴퓨터입니다.,

예를 들어,실행Get-Host원격 Windows 서버에서 2016 년을 통해 서버Invoke-Command어떻게 볼 것입니다.마지막으로 확인한 결과 Windows Server2016 에서 PowerShell v1 을 실행할 수 없습니다.

Get-Host에 의존하는 것은 나쁜 생각입니다.

Powershell 버전$host 를 확인하십시오.버전 명령

참조$host.Version는 Powershell 버전을 확인하는 또 다른 방법입니다. $host변수는Get-Host와 동일한 출력을 반환하는 자동 변수입니다.,

참조$host.Version

아무것도 특별한 이에 대한 방법입니다. 그것은 단순히Get-Host를 실행하는 것과 동일합니다.

$호스트.버전에서 원격 컴퓨터

을 볼 것 같은 행동을 통해 PowerShell 원격으로$host.Version로 실행하는Get-Host.

위험,윌 로빈슨!

레지스트리

PowerShell 자체를 열지 않으려면 레지스트리를 확인할 수도 있습니다., PowerShell 의 버전은 레지스트리 키 경로HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine의 값 아래에 자리 잡고 있습니다. 이 레지스트리 키에는 값이라는PowerShellVersion참조할 수 있는여 사용하는Get-ItemProperty.이 버전은 비슷하지만 다른 옵션처럼 개정판을 포함하지 않는다는 것을 알 수 있습니다.

다른 도구 사용

레지스트리를 사용하면 버전을 찾기 위해 PowerShell 을 전혀 사용할 필요가 없음을 의미합니다. 명령 프롬프트 또는 레지스트리를 읽을 수있는 다른 도구에서 명령을 실행할 수 있습니다.,

원격 컴퓨터의 레지스트리

레지스트리는 정적이며 값은 로컬 또는 원격으로 변경되지 않습니다. 로컬에서 보는 것이 원격으로 보는 것과 같을 것이라고 확신 할 수 있습니다.

로컬 및 원격으로 동일한 버전을 보여주는 것이 좋습니다. 그러나$PSVersionTable자동 변수를 사용하여 보여주는 더 좋은 방법이 있습니다.

$PSVersionTable 을 통해 Powershell 버전을 확인하십시오.PSVersion 명령

마지막으로,그리고 마지막 방법을 참조하여PSVersion속성$PSVersionTable자동 변수가 있습니다., 이 방법은 항상 PowerShell 엔진을 나타냅니다.

$PSVersionTable자동 변수를 읽기 전용 해시 테이블을 반환하는 정보에 대해 구체적으로 PowerShell engin 버전입니다. 이 자동 변수는 버전을 반환 할뿐만 아니라PSEdition도 반환합니다. 이 속성은 코어 또는 데스크톱 중 하나가 실행중인 PowerShell 의 버전에 대한 추가 정보를 제공 할 수 있습니다.,

$PSVersionTable 출력

$PSVersionTable 원격 컴퓨터에서

를 사용하는$PSVersionTable자동 변수가 정확한으로 로컬로 그것은 원격으로. 아래에서 볼 수 있는 포장에 의해$PSVersionTable.PSVersion에서 스크립트 블록고 실행되는 코드에서 원격 컴퓨터,반환합니다.

요약

이 블로그 포스팅,당신은 배의 모든 방법으로 버전을 확인하 PowerShell 로컬 및 원격으로., 처음 몇 가지 방법이 버전을 확인하지 않는 방법에 대한 아이디어를 주었기를 바랍니다!

항상$PSVersionTable.PSVersion를 사용하는 것이 좋습니다. 다른 모든 방법은 PowerShell 엔진 버전과 유사하게 나타날 수 있지만 항상 엔진 버전을 반영하지는 않을 수 있습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다