요약 PowerShell을 모듈 매니페스트의 차이는 PowerShellVersion
및 PowerShellHostVersion
값 무슨차이
?
롱 버전
이 모듈에 필요한 PowerShell에서의 최소 버전, 또한 필요한 PowerShell을 호스트의 최소 버전 모두에 대한 설정이 있습니다 매니페스트 새 모듈을 생성. (NB : 올바른 값 모두가 자신의 부 버전/아니오 빌드 또는 개정 번호 0 설정이 있기 때문에 주 버전 관련된다) 즉
New-ModuleManifest -Path '.\MyModule.psd1' -PowerShellVersion '5.0' -PowerShellHostVersion '2.0'
PowerShellVersion
는 $PSVersionTable.PSVersion.Major
에 관한 것이다.
PowerShellHostVersion
은 분명하지 않습니다. 내 믿음은 $Host.Version
(즉 과 관련된 PowerShellHostName
)에 관한 것입니다. 그러나, 내 경험에 의하면 ISE (Windows PowerShell ISE Host
)와 ConsoleHost
은 버전 번호가 PS 버전과 일치합니다. 그래서 예에서 암시 된 것처럼 PS 버전과의 동기화가 필요하지 않는 것은 이상한 것처럼 보입니다. 희소 한 사용 사례에 대해 거의 사용되지 않는 매개 변수입니다. 그러나 이것이 내가 무엇인지에 대해 정확히 이해했는지와 적용 가능한 공통 시나리오가 있는지 확인하고자합니다. MSDN's documentation에
예시 값 (즉 자체 의미 파라미터 명보다 더 많은 정보를 부가하지)을 Official Documentation 단지 원형 설명을 제공
(PowershellHostVersion
가 2.0
을 얻는 동안, 즉 PowershellVersion
가 5.0
주어진다) 다르다.
PowerShell 5.1부터 PowerShell 원격 호스트의 버전은 1.0입니다. – PetSerAl
@ PetSerAI의 의견 :'Enter-PSSession -ComputerName .''$ Host.Version'을 실행하여 재현했습니다. 호스트 이름은'ServerRemoteHost'입니다. '$ PSVersionTable'은 예상대로'5.1.14409.1012'를 제공합니다. – JohnLBevan
'pushd "% psmodulepath %"와'for/F "모두에서'findstr/I/S/R"호스트. * 버전 호스트. * (승격 된 명령 프롬프트의) * .psd1'을 실행하십시오. delims = " % G in ('where powershell.exe')은 pushd "% ~ dpG"'폴더를 수행합니다. 유용한 'PowerShellHostVersion' 모양을 찾을 수 없습니다. 그래서, ** 왜 ** 당신의 모듈에 그것을 설치하고 싶습니까? – JosefZ