현지화된 시스템에서 PowerShell 오류 출력을 영어로 강제 실행
다양한 운영 체제에서 PowerShell 스크립트를 실행해야 합니다.대부분은 영어 버전이지만 일부는 독일어, 프랑스어, 스페인어 등 현지화되어 있습니다.문제는 로컬 시스템 관리자가 현재 PowerShell을 거의 사용하지 않고 스크립트가 실패하고 오류가 발생하는 경우, 스크립트를 읽지 않고 오류 메시지의 스크린샷을 나에게 전송하고, 이 오류의 원인이 명확하지 않으면 g. translate에 입력하여 상황을 파악해야 한다는 것입니다.
전체 스크립트나 단일 명령 또는 매개 변수를 사용하여 실행할 수 있는 스위치나 특정 컴퓨터의 기본 언어가 아닌 영어로 PowerShell의 오류를 표시하도록 강제할 수 있는 다른 방법이 있습니까?
파이프라인 스레드의 전류를 변경할 수 있습니다.UI와 같은 문화:
[Threading.Thread]::CurrentThread.CurrentUICulture = 'fr-FR'; Get-Help Get-Process
저는 영어 시스템에 있지만 위의 라인을 실행하기 전에 다음과 같은 도움말을 업데이트했습니다.
Update-Help -UICulture fr-FR
그것과 함께, 위의 Get-Help 전화는 제 영어 시스템에 대한 프랑스어 도움을 주었습니다.참고: Get-Help(도움말 받기)로 전화를 걸어도 작동하지 않습니다.PowerShell이 전류를 재설정하는 것을 확인했습니다.각 파이프라인이 시작되기 전에 UIculture 명령이 동일한 파이프라인에 있을 때 작동하는 이유입니다.
이 경우 다음을 사용하여 영어 도움말을 설치해야 합니다.
Update-Help -UICulture en-US
그런 다음 스크립트를 다음과 같이 실행합니다.
[Threading.Thread]::CurrentThread.CurrentUICulture = 'en-US'; .\myscript.ps1
[Threading.Thread]::CurrentThread.CurrentUICulture
현재 한 줄기에만 영향을 미치므로 단일 .ps1 파일 실행에 사용할 수 있습니다.
PowerShell 창의 모든 명령에서 메시지를 영어로 변경하려면 다음과 같이 PowerShell 런타임에 캐시된 문화 설정을 변경해야 합니다.
# example: Set-PowerShellUICulture -Name "en-US"
function Set-PowerShellUICulture {
param([Parameter(Mandatory=$true)]
[string]$Name)
process {
$culture = [System.Globalization.CultureInfo]::CreateSpecificCulture($Name)
$assembly = [System.Reflection.Assembly]::Load("System.Management.Automation")
$type = $assembly.GetType("Microsoft.PowerShell.NativeCultureResolver")
$field = $type.GetField("m_uiCulture", [Reflection.BindingFlags]::NonPublic -bor [Reflection.BindingFlags]::Static)
$field.SetValue($null, $culture)
}
}
(https://gist.github.com/sunnyone/7486486) 에서)
언급URL : https://stackoverflow.com/questions/19869627/forcing-powershell-errors-output-in-english-on-localized-systems
'programing' 카테고리의 다른 글
Zend Framework 2: Ajax 호출에 대한 레이아웃 자동 비활성화 (0) | 2023.08.20 |
---|---|
mysql 쿼리 최적화 및 필드 값 조작 (0) | 2023.08.20 |
Null 병합 할당이란 무엇입니까?PHP 7.4의 연산자 (0) | 2023.08.20 |
jquery를 사용하여 텍스트 상자가 비활성화되었는지 여부 확인 (0) | 2023.08.20 |
Python Panda는 특정 열만 병합합니다. (0) | 2023.08.20 |