2016-12-12 1 views
0

de-DE 키보드를 사용하는 동안 표준 키보드 레이아웃은 de-CH 인 스위스 회사 환경에서 작업합니다.프로그래밍 방식으로 키보드 레이아웃을 변경하십시오.

키보드 설정을 수동으로 기본 설정 인 de-DE-layout으로 변경하고 표준으로 설정 한 다음 단축키를 지정할 수 있습니다.

그러나 임의의 시간 (관리자가 실행하는 업데이트와 관련이있을 수 있음)이 지나면 어떻게 든 내 설정이 사라 지므로 매 2 일마다이 작업을 반복해야합니다.

This 승 8 PowerShell로 키보드 레이아웃을 변경하는 쉬운 방법이 제안 : 나는 나는, 오류 메시지가 다음 얻을, 윈 7 따라서 작업, 슬프게도

Set-WinUserLanguageList -LanguageList DE-DE

가있는, 이제

PS C:\Users\b036081> Set-WinUserLanguageList -LanguageList DE-DE 
Set-WinUserLanguageList : The term 'Set-WinUserLanguageList' is not recognized as the name of a cmdlet, function, 
script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path 
is correct and try again. 
At line:1 char:1 
+ Set-WinUserLanguageList -LanguageList DE-DE 
+ ~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : ObjectNotFound: (Set-WinUserLanguageList:String) [], CommandNotFoundException 
    + FullyQualifiedErrorId : CommandNotFoundException 

, PowerShell에서 다른 비교적 간단한 방법이있다 : PowerShell은-더미로, 나는 cmdlet이 승 7에 존재하지 않는 일반 문으로 해석? 또는 C++, C#, 일괄, VB에서 ...

고마워요!

+0

사용해보기 : http://superuser.com/questions/395818/how-to-change-keyboard-layout-via-command-line-cmd-exe-on-windows-xp-7 – scotru

+0

P/불러오는 중 [LoadKeyboardLayout] (https://msdn.microsoft.com/library/windows/desktop/ms646305) 및이를 래핑하여 cmdlet으로 처리해야합니다. 그러나 귀하의 질문은 비교적 간단한 방법 *에 관한 것이므로 그럴 수는 없지만 누군가가 쓸 수는 있습니다. –

+0

회사 IT 관리자에게 문의하십시오 ... – JosefZ

답변

0

을 내 시스템 동안 자동으로로 재설정됩니다.레이아웃 기본 언어로 다른 언어를 설정해도 ALT + SHIFT + 1으로 내 키보드 레이아웃을 순환 할 수 있습니다 ... 사용하지 않은 de-CH 항목을 삭제하려고하지 않는 한.

Powershell 방식이 내 시스템에서 작동하지 않는 것 같습니다.

1

레지스트리에서 변경할 수 있다고 생각합니다. .

HKU :

아래에있는 레지스트리 키가 \ 기본 \ 키보드 레이아웃 \ 쉽게

국가 코드 00000407로 변경 \ 예압 - 레지스트리에 드 드, 그 해결해야 당신의 문제.

하지만 먼저 "HKEY_USERS"를 레지스트리에서 "마운트"하려면 새로운 PS-Drive를 만들어야합니다.

$psdrive = New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS 

Set-ItemProperty -Path "HKU:\.DEFAULT\Keyboard Layout\Preload\" -Name 1 -Value 00000407 

$psdrive | Remove-PSDrive 
+0

저는 아이디어가 마음에 들지만 일반적으로 작동한다고 추측합니다. 나는 레지스트리 항목 (관리자 권한 없음)을 변경할 수 없습니다. Ofc 당신은 그것을 알 수 없었다! –

1

당신은 쉽게 다음과 같이 .NET 클래스를 통해 현재 입력 언어를 변경할 수 있습니다

Add-Type -AssemblyName 'System.Windows.Forms' 
[System.Windows.Forms.InputLanguage]::CurrentInputLanguage = [System.Windows.Forms.InputLanguage]::InstalledInputLanguages | ? { $_.Culture -eq 'ru-RU' } 
+0

Windows 10에서 PowerShell 5를 사용하는 경우'Add-Type -AssemblyName 'System.Windows.Forms''가 앞에 오지 않는 한'[System.Windows.Forms.InputLanguage]. '유형을 찾을 수 없습니다. 'System.Windows.Forms' 네임 스페이스에 대한 뭔가가 내게 이것이 PowerShell에서 효과적이지 않을 것이라고 생각하게 만듭니다. – BACON

+0

모든 것은 작업에 따라 다릅니다. 어떤 사람들은 레지스트리 편집을 제한 할 수 있습니다. 이것은 이것을하는 또 다른 방법 일뿐입니다. –

+0

@Kirill Pashkov, 오류 메시지가 표시되지 않지만 조금만 둘러 보았을 때 어떤 효과가 있는지 알 수 없습니다. 그러나 이것은 사용자 프로필의 제한 사항과 관련이 있습니다. 아직도 : 그 대체 접근법에 대해 많은 감사드립니다! –

0

사용이 명령

powershell -command "Set-WinUserLanguageList -Force 'en-US'" 

또는

powershell -command "Set-WinUserLanguageList -Force 'fr-FR'" 
+0

원래의 질문에서 말했듯이, PS는'Set-WinUserLanguageList'를 인식하지 못합니다. –

관련 문제