tag:crieit.net,2005:https://crieit.net/tags/OS%E8%A8%AD%E5%AE%9A/feed
「OS設定」の記事 - Crieit
Crieitでタグ「OS設定」に投稿された最近の記事
2022-01-28T18:32:09+09:00
https://crieit.net/tags/OS%E8%A8%AD%E5%AE%9A/feed
tag:crieit.net,2005:PublicArticle/17958
2022-01-28T18:32:09+09:00
2022-01-28T18:32:09+09:00
https://crieit.net/posts/aka-win-sysconf-1
OSの設定をPowershellで変える(言語編)
<h1 id="はじめに"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">はじめに</a></h1>
<p>多国語の対応とかしてると確認のためにいちいちシステム言語を切り替えて云々が発生してうっとおしいのでバッチにしてしまえ、たぶんPowerShellでできるはずだ、ということで調べた結果を垂れ流す。<br />
なお、システム設定いじくるので管理者として実行してあげる必要がある。<br />
それも面倒なので権限昇格するようにバッチで行う。(そのうち別記事で書く)</p>
<h1 id="サポート言語の追加"><a href="#%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E8%A8%80%E8%AA%9E%E3%81%AE%E8%BF%BD%E5%8A%A0">サポート言語の追加</a></h1>
<p>[Windows設定]→[時刻と言語]→[言語]のページの下の方の[言語の追加]。</p>
<h2 id="Get-WinUserLanguageList/Set-WinUserLanguageList"><a href="#Get-WinUserLanguageList%2FSet-WinUserLanguageList">Get-WinUserLanguageList/Set-WinUserLanguageList</a></h2>
<p>Get~で現在のサポート言語のリストをとってくる<br />
Set~でサポート言語リストをセットする<br />
ので<br />
1.Getする<br />
2.追加する(言語コードをAdd)<br />
3.Setする<br />
でいける</p>
<p>例えばドイツ語なら</p>
<pre><code>$CurrList = Get-WinUserLanguageList
$CurrList.Add("de-DE")
Set-WinUserLanguageList $CurrList -Force
</code></pre>
<p>-Forceは自動化したいから。ないと確認メッセージが出ます。</p>
<h1 id="地域設定(形式)"><a href="#%E5%9C%B0%E5%9F%9F%E8%A8%AD%E5%AE%9A%28%E5%BD%A2%E5%BC%8F%29">地域設定(形式)</a></h1>
<p>[Windows設定]→[時刻と言語]→[地域]のページの2こめくらい。</p>
<h2 id="Get-Culture/Set-Culture"><a href="#Get-Culture%2FSet-Culture">Get-Culture/Set-Culture</a></h2>
<p>ただ言語デフォルトに変更したいだけならSet-Cultureで言語コードを渡せばいい。<br />
だけど言語デフォルトでありがちな罠の小数点(たまにカンマの国がある)を変更したいなら<br />
1.Set 言語デフォルト<br />
2.Get<br />
3.編集<br />
4.Set 編集したの<br />
という手順になるが、どうも1の直後に2を呼ぶと反映されてなかったのでps1ファイルを分けた。</p>
<pre><code># ChangeCulture_1.ps1
Set-Culture "de-DE"
</code></pre>
<pre><code># ChangeCulture_2.ps1
$Cult = Get-Culture
$Cult.NumberFormat.NumberDecimalSeparator = "."
Set-Culture $Cult
</code></pre>
<h1 id="システムロケール"><a href="#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%AD%E3%82%B1%E3%83%BC%E3%83%AB">システムロケール</a></h1>
<p>[Windows設定]→[時刻と言語]→[地域]→[関連設定:日付、時刻、地域の追加設定]→[地域]→[管理]タブ→[Unicode対応ではないプログラムの言語]<br />
※遠い、正直コントロールパネル出した方が早く着く</p>
<h2 id="Get-WinSystemLocale/Set-WinSystemLocale"><a href="#Get-WinSystemLocale%2FSet-WinSystemLocale">Get-WinSystemLocale/Set-WinSystemLocale</a></h2>
<p>確認したいならGetで。Setで言語コードを入れれば終わり。</p>
<pre><code>Set-WinSystemLocale "de-DE"
</code></pre>
<p>再起動は必須なのでお好みに合わせて<br />
Restart-System<br />
をスクリプトに含めるなり、そこは手でやるなりご自由に。</p>
<p>カンタン!</p>
RedCol