質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

Q&A

解決済

1回答

4621閲覧

Windows Server 2019の初期設定をAnsibleで実行した際のエラーについて

yami_0613

総合スコア22

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

0グッド

0クリップ

投稿2020/09/16 02:23

前提・実現したいこと

Windows Server 2019 Standardの下記初期設定をAnsibleで実行したい。
実行時にエラーが出るのでそれを解決したい。

実行する初期設定一覧

下記にPowerShellで実行する際のコマンドとやりたいことをセットで記載しております。

・Windows Server 2019のlanguagePackを「C:\lang.iso」としてダウンロードします。
Invoke-WebRequest -Uri https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_SERVERLANGPACKDVD_OEM_MULTI.iso -OutFile C:\lang.iso

・「C:\lang.iso」をマウントします。
$mountResult = Mount-DiskImage C:\lang.iso -PassThru

・マウントしたISOのドライブレターを取得します。
$driveLetter = ($mountResult | Get-Volume).DriveLetter

・パスを格納
$lppath = $driveLetter + ":\x64\langpacks\Microsoft-Windows-Server-Language-Pack_x64_ja-jp.cab"

・「Lpksetup.exe」コマンドを使って日本語languagePackをインストールします。インストール後再起動します。
C:\windows\system32\Lpksetup.exe /i ja-JP /f /s /p $lppath

・ユーザーが使用する言語を日本語にします。
Set-WinUserLanguageList -LanguageList ja-JP,en-US -Force

・入力する言語を日本語で上書きします。
Set-WinDefaultInputMethodOverride -InputTip "0411:00000411"

・MS-IMEの入力方式を設定します。
Set-WinLanguageBarOption -UseLegacySwitchMode -UseLegacyLanguageBar

・サーバーを再起動します。
Restart-Computer

¥UIの言語を日本語で上書きします。
Set-WinUILanguageOverride -Language ja-JP

・時刻/日付の形式をWindowsの言語と同じにします。
Set-WinCultureFromLanguageListOptOut -OptOut $False

・ロケーションを日本にします。
Set-WinHomeLocation -GeoId 0x7A

・システムロケールを日本にします。
Set-WinSystemLocale -SystemLocale ja-JP

・タイムゾーンを東京にします。
Set-TimeZone -Id "Tokyo Standard Time"

・サーバーを再起動します。
Restart-Computer

実際のAnsibleコンフィグ

- hosts: windows tasks: - name: file download win_shell: 'Invoke-WebRequest -Uri https://software-download.microsoft.com/download/pr/17763.1.180914-1434.rs5_release_SERVERLANGPACKDVD_OEM_MULTI.iso -OutFile C:\lang.iso ' - name: lang.iso file mount win_shell: '$mountResult = Mount-DiskImage C:\lang.iso -PassThru' - name: Get DriveLetter win_shell: '$driveLetter = ($mountResult | Get-Volume).DriveLetter' - name: include path win_shell: '$lppath = $driveLetter + ":\x64\langpacks\Microsoft-Windows-Server-Language-Pack_x64_ja-jp.cab"' - name: install start win_shell: 'C:\windows\system32\Lpksetup.exe /i ja-JP /f /s /p $lppath' - name: UI Japanese win_shell: 'Set-WinUserLanguageList -LanguageList ja-JP,en-US -Force' - name: input Japanese win_shell: 'Set-WinDefaultInputMethodOverride -InputTip "0411:00000411"' - name: MS-IME Setting win_shell: 'Set-WinLanguageBarOption -UseLegacySwitchMode -UseLegacyLanguageBar' - name: Restart-Computer win_reboot: - name: UI override Japanese win_shell: 'Set-WinUILanguageOverride -Language ja-JP' - name: same to Japanese type win_shell: 'Set-WinCultureFromLanguageListOptOut -OptOut $False' - name: location to Japan win_shell: 'Set-WinHomeLocation -GeoId 0x7A' - name: system locale Japane win_shell: 'Set-WinSystemLocale -SystemLocale ja-JP' - name: Timezome to Japan win_shell: 'Set-TimeZone -Id "Tokyo Standard Time"' - name: Restart to instance win_reboot:

解決したい事

「'Set-WinLanguageBarOption -UseLegacySwitchMode -UseLegacyLanguageBar'」箇所がAnsibleで実行される際下記エラーとなります。

TASK [MS-IME Setting] *********************************************************************************************** Wednesday 16 September 2020 01:41:38 +0000 (0:00:13.806) 0:05:12.305 *** fatal: [10.0.*.*]: FAILED! => {"changed": true, "cmd": "Set-WinLanguageBarOption -UseLegacySwitchMode -UseLegacyLanguageBar", "delta": "0:00:04.765612", "end": "2020-09-16 01:41:52.895420", "msg": "non-zero return code", "rc": 1, "start": "2020-09-16 01:41:48.129807", "stderr": "Set-WinLanguageBarOption : Exception of type 'System.Exception' was thrown.\r\nAt line:1 char:65\r\n+ ... ing $false; Set-WinLanguageBarOption -UseLegacySwitchMode -UseLegacyL ...\r\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n + CategoryInfo : InvalidResult: (:) [Set-WinLanguageBarOption], Exception\r\n + FullyQualifiedErrorId : 1459 = Error name,Microsoft.InternationalSettings.Commands.SetWinLanguageBarOptionComman \r\n d\r\n \r\nSet-WinLanguageBarOption : Exception of type 'System.Exception' was thrown.\r\nAt line:1 char:65\r\n+ ... ing $false; Set-WinLanguageBarOption -UseLegacySwitchMode -UseLegacyL ...\r\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n + CategoryInfo : InvalidResult: (:) [Set-WinLanguageBarOption], Exception\r\n + FullyQualifiedErrorId : 1459 = Error name,Microsoft.InternationalSettings.Commands.SetWinLanguageBarOptionComman \r\n d", "stderr_lines": ["Set-WinLanguageBarOption : Exception of type 'System.Exception' was thrown.", "At line:1 char:65", "+ ... ing $false; Set-WinLanguageBarOption -UseLegacySwitchMode -UseLegacyL ...", "+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", " + CategoryInfo : InvalidResult: (:) [Set-WinLanguageBarOption], Exception", " + FullyQualifiedErrorId : 1459 = Error name,Microsoft.InternationalSettings.Commands.SetWinLanguageBarOptionComman ", " d", " ", "Set-WinLanguageBarOption : Exception of type 'System.Exception' was thrown.", "At line:1 char:65", "+ ... ing $false; Set-WinLanguageBarOption -UseLegacySwitchMode -UseLegacyL ...", "+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", " + CategoryInfo : InvalidResult: (:) [Set-WinLanguageBarOption], Exception", " + FullyQualifiedErrorId : 1459 = Error name,Microsoft.InternationalSettings.Commands.SetWinLanguageBarOptionComman ", " d"], "stdout": "", "stdout_lines": []}

補足情報(FW/ツールのバージョンなど)

[root@ansible ansible]# ansible --version
ansible 2.9.10

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

over

2020/09/16 02:27

Ansible側、Windows側での疎通設定が終了しており、Ansibleモジュール「win_ping」で疎通がとれていることを前提としたご質問でしょうか?
yami_0613

2020/09/16 02:29 編集

over様コメントありがとうございます。 ご認識のとおりです。 - name: input Japanese win_shell: 'Set-WinDefaultInputMethodOverride -InputTip "0411:00000411"' までの処理は問題なく実行されております。
yami_0613

2020/09/16 02:45

補足: 上記Ansible実行時はWindowsupgradeは実施済みの状態です。
over

2020/09/16 08:48

Core環境ってことですかね?※GUIモードでも同様のことができるか不明/未確認。 調べてみた限りでは原因はわからなかったです。 申し訳ないです。
yami_0613

2020/09/16 09:00

いえいえ。何とか自力で頑張ってみます。 ありがとうございました。
guest

回答1

0

自己解決

別のやり方で実施することで本事象を回避いたしました。

投稿2020/09/24 04:47

yami_0613

総合スコア22

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問