2025年11月26日水曜日

Entra Connectを用いてWindows 11端末をハイブリッド参加させる手順

自宅環境ではEntra Connect (旧Azure AD Connect)を使って、オンプレADのユーザー情報をEntra IDへ同期する構成としている。今まではユーザー情報を同期させて、そのユーザーでM365環境にログインするといった用途ぐらいにしか使用しておらず、「ただ同期するだけ」の状態だった。

ただし、Entra Connectを使うと、オンプレのドメインに所属しつつ、Entra環境にも参加する「Entraハイブリッド参加 (Entra Hybrid Join)」という構成にすることができる。これをすると、オンプレADにログインすれば、M365へSSOできたり、M365の機能と連携して、デバイスのセキュリティ強化を行うことができる。

本記事では、Entra Connectを用いてWindows 11端末をハイブリッド参加させる手順を記載する。

環境

  • Entra Connect : 2.5.79.0
  • オンプレAD : Windows Server 2016
  • デバイス : Windows 11 24H2

Entraハイブリッド参加手順

1. Entra Connectにて「ハイブリッド参加の構成」の設定を行う

Entra Connectで「ハイブリッド参加の構成」が未実施の場合に作業を実施する。
※私の環境はEntra Connectをかなり古いバージョンの頃に初期構築したこともあり、本作業が未実施だった。

Entra Connectがインストールされているサーバーにログインし、Entra Connectの画面を開く。

「デバイスオプションの構成」を開く。

「Microsoft Entra IDに接続する」は、グローバル管理者のユーザー、パスワードを入力する。

「デバイスオプション」にて「ハイブリッドMicrosoft Entra ID参加の構成」を選択する。

「デバイスのオペレーティングシステム」では、「Windows 10以降のドメインに参加しているデバイス。」を選択する。
※さすがにWindows 10以前のOS (例:Windows 8など)を使っている環境はもう存在しないと思われるため。

「SCPの構成」では、以下を設定する。

  • 認証サービス : Microsoft Entra ID
  • エンタープライズ管理者 : ドメインのエンタープライズ管理者権限のユーザー、パスワードを入力

以上でハイブリッド構成が開始され、最後に「構成が完了しました」と表示されれば問題ない。

2. グループポリシーのテンプレートの最新化

GPOを設定するのだが、私の環境はWindows Server 2016という古い環境 (2026年中に更改予定)のため、設定したいポリシーがデフォルトでは存在しない

その場合は、以下URLから最新のポリシーテンプレートファイルをダウンロードし適用しておくこと。

https://www.microsoft.com/en-us/download/details.aspx?id=108394
Administrative Templates (admx) for Windows 11 Sep 2025 Update.msi

上記msiファイルをインストールすると、C:\Program Files (x86)\Microsoft Group Policy\Windows 11 Sep 2025 Update (25H2)\PolicyDefinitionsにファイルが展開されるので、\\<ドメイン名>\SYSVOL\<ドメイン名>\Policies\PolicyDefinitionsに以下ファイルをコピーする。

  • *.admx
  • en-USフォルダ
  • ja-JPフォルダ

3. GPOにてデバイスのEntra参加を有効化

以下GPOを作成し、Entraハイブリッド参加対象のコンピューターアカウントが登録されているOUにリンクさせる。

  • コンピューターの構成 → 管理用テンプレート → Windows コンポーネント → デバイス登録
    • ドメインに参加しているコンピューターをデバイスとして登録する : 有効
  • コンピューターの構成 → 管理用テンプレート → Windows コンポーネント → MDM
    • 既定のAzure AD資格情報を使用して自動のMDM登録を有効にします : 有効

4. デバイスにてハイブリッド参加

グループポリシーの適用のため、デバイスを再起動しておく。

ハイブリッド参加の確認は、dsregcmdコマンドを用いて実施する。以下★箇所がYESになっていれば問題ない。なお、EnterpriseJoinedは「オンプレAD FSによる参加」の状態を示す項目となり、ハイブリッド参加の場合は、NOのままで問題ない。

PS C:\> dsregcmd /status

+----------------------------------------------------------------------+
| Device State                                                         |
+----------------------------------------------------------------------+

             AzureAdJoined : YES ★
          EnterpriseJoined : NO
              DomainJoined : YES ★
                DomainName : TEST
           Virtual Desktop : NOT SET
               Device Name : DESKTOP-E05C3GD.test.local

もし登録されていない場合は、以下コマンドで登録を試みる。エラーが出る場合は、トラブルシュートが必要となるが、内容によるのでここでは割愛する。

PS C:\> dsregcmd /debug /join

最後に、Entra管理センターでも、対象のデバイスの状況を確認する。Entra管理センターの「デバイス」>「すべてのデバイス」にて対象のデバイスを確認し、「参加の種類」が「Microsoft Entra hybrid joined」となっていればOKとなる。

参考

2024年11月7日木曜日

DELL周辺機器レビュー③ (Dell Bluetooth®トラベル マウス – MS700)

Dell Technologies Japan様(@DellTechJapan)の「【A】テレワークを快適にする周辺機器セット」のモニタープレゼントに当選し、以下3つの製品を提供いただいた。

それぞれの使用感をレビューしたいと思う。本記事ではDell Bluetooth®トラベル マウス – MS700 のレビューを記載する。

「Dell Bluetooth®トラベル マウス – MS700」レビュー

大きさなど

本マウスは単4電池 x 2本必要となる。動作確認用として電池付きなのがありがたい。



電池の蓋はマグネット式になっており、電池が落下しないようストッパーが付いている。

大きさは通常のマウスと同じくらいの大きさとなる。手元のマウスと比べてみると、若干薄い程度でほぼ同じ大きさとなっていた。

本体を捻ることで電源ON/OFFができる

このマウスの特徴として、本体を捻ることで電源ON/OFFができる。

通常の使用時は普通のマウスと同じ程度の厚みがある。

本体を捻り電源をOFFにすると、薄くコンパクトになる。そのため、持ち運び時にかさばることがない。

また、電源OFFの状態からONの状態に戻すと、すぐにPCでマウスが認識されるため、認識待ちなどでストレスを感じることはなく使用することができた。

マウスホイール

マウスホイールはホイール式ではなく、タッチセンサー式となっている。スクロール時の動かし方はホイールとは同じではあるが、物理的なホイールがないことで最初は違和感を感じる可能性がある。ただ、慣れればホイールと遜色なく操作はできそうだ。

総評

Dell EcoLoop Pro バックパック 15 の総評として、メリット・デメリットを以下にまとめる。

メリット

  • 電源ON時は、通常のマウスと同じ程度の厚みがあり、マウス操作時に違和感を感じにくい。
  • 電源OFF時は、本体が薄くなりコンパクトになる。

デメリット

  • マウスホイールがタッチセンサー式となるため、慣れるまではスクロール操作に違和感を感じる可能性がある。
2024年11月5日火曜日

DELL周辺機器レビュー② (Dell EcoLoop Pro バックパック 15)

Dell Technologies Japan様(@DellTechJapan)の「【A】テレワークを快適にする周辺機器セット」のモニタープレゼントに当選し、以下3つの製品を提供いただいた。

それぞれの使用感をレビューしたいと思う。本記事ではDell EcoLoop Pro バックパック 15 のレビューを記載する。

「Dell EcoLoop Pro バックパック 15」レビュー

大きさと容量

大きさとしては幅31cm x 高さ44cm x 奥行17cmとなっており、重量は660gとなる。第一印象としては奥行きがスリムで非常に軽く、ノートPCや周辺機器などを十分に入れるだけの容量があるか心配になるほどだった。

実際は、十分な容量があり、ノートPC、マウス、ヘッドセットに加え、モバイルバッテリーやケーブル類など、通勤や客先移動時に必要な仕事道具を問題なく収納して持ち運ぶことができる(さらに、季節的に薄手の上着ぐらいなら問題なく収納できた)。

また、ペットボトル用のメッシュ状の収納ポケットが左右にあり、折りたたみ傘、ペットボトルの飲み物なども、バックパックの中に入れることなく持ち運ぶことができる。

収納スペース

背中側からPC収納スペース、周辺機器収納スペース、小物類収納スペースの大きく3つの区画に分かれている。

面白い点として、キーボードやヘッドセットといったマークが収納スペースに貼り付けてあった。マークに従い、周辺機器収納スペースには、ヘッドセットなどを入れ、小物類収納スペースにはマウスやその他財布などを収納すると、仕事道具を整理して収納することができる(当然自分好みで収納場所は変えてもよい)。

PC収納スペース

一番背中側のPC用スペースは、15.6インチまでのPCに対応しており非常に広いスペースが確保されている。写真は13インチのノートPCを入れた状態となるが、見ての通りスペースには余裕があり、追加でモバイルモニターなども収納できそうだ。

背中側

背中側はメッシュ状のクッション素材となっており、夏場などで背中が熱くなる際も、蒸れにくくなりそうだ。また、スーツケース用のストラップも付いている。

総評

Dell EcoLoop Pro バックパック 15 の総評として、メリット・デメリットを以下にまとめる。

メリット

  • 一見コンパクトながら、十分な容量を備える。満員電車などでも邪魔になりにくい。
  • PCを常に持ち運ぶような働き方を想定した収納スペースを備えており、周辺機器を整理した状態で持ち運ぶことができる。
  • 金額もリーズナブル(6,780円)

デメリット

  • 特に大きなデメリットはないが、強いて言えば、技術書などで分厚い本などを入れようとした場合、収納場所を工夫する必要があるかもしれない。
2024年11月4日月曜日

DELL周辺機器レビュー① (Dell Pro 有線 ANC ヘッドセット – WH5024)

Dell Technologies Japan様(@DellTechJapan)の「【A】テレワークを快適にする周辺機器セット」のモニタープレゼントに当選し、以下3つの製品を提供いただいた。

それぞれの使用感をレビューしたいと思う。本記事ではDell Pro 有線 ANC ヘッドセット – WH5024のレビューを記載する。

「Dell Pro 有線 ANC ヘッドセット – WH5024」レビュー

音声とマイクについて

本ヘッドセットは、無線ではなく有線接続専用のヘッドセットとなる。無線でないためヘッドセットを付けながら動き回るといったことはできないが、ヘッドセット自体はバッテリーなどが搭載不要であることから、軽量になっている印象となる(その代わり、ケーブル分の重量は増えてしまうが)。

数日使ってみたが、音声やマイクの性能は十分で、Web会議で相手の音や自分の音が聞こえにくいということはなかった。また、ANC(アクティブノイズキャンセリング)がよい感じに周りの音を減少してくれるので、オフィスなどで多少周りが騒がしい環境であっても、問題なくWeb会議ができそうだ。

収納ケース

収納ケースが付いており持ち運び時に有線ケーブルが散らからず、便利になっている。

イヤーパッド

イヤーパッドはクッション性が十分にあり、長時間使用しても耳が痛くなりにくくなっている。また、アーム部分が耳の角度に応じて回転するため、きちっと耳にフィットする。

有線ケーブルとコントローラー

無線ではなく有線となり、いわゆるイヤホンプラグではなくUSBケーブルによる接続となる。USBはType-CだけでなくType-Aへの変換コネクターが付属している。

コントローラーが付いており、手元でマイクミュートのON/OFFや音量調整ができる。Web会議などで相手の環境の音が小さく、音量を上げたい場合などにおいて手元ですぐに音量調整できるのはありがたい。

「Dell Peripheral Manager」による細かな管理

USB接続をすると、Windows 11においては自動的に「Dell Peripheral Manager」のインストールが求められる。本ソフトウェアを用いることで、ヘッドセットの細かな設定ができるようになるため、特に問題がなければインストールした方が便利だろう。

なお、本ヘッドセットはマイクON/OFF時に音声ガイダンスで案内がされるのだが、ガイダンスがWeb会議中の会話と干渉するため、人によっては音声ガイダンスをOFFにしたい場合もあると思われる(私がそうだった)。本ソフトウェアを用いることで、音声ガイダンスのON/OFFが設定可能となる。

総評

Dell Pro 有線 ANC ヘッドセット – WH5024の総評として、メリット・デメリットを以下にまとめる。

メリット

  • イヤーパッドのクッション性が高く、アーム部分も稼働することで長時間のWeb会議でも痛くなりにくい。
  • 手元にコントローラーがあり、簡単にマイクON/OFFや音量調整ができる。
  • ANCが優秀で多少騒がしい環境でもWeb会議ができる。
  • 「Dell Peripheral Manager」で音声ガイダンスを無効化などの細かな設定ができる。

デメリット

  • 有線接続なので使用中に席を離れることができない。
  • 音声ガイダンスを無効に知るとANCのON/OFFの状態が判断しづらい。
2024年10月19日土曜日

Ansible core 2.17にしたらRHEL 8系でdnfモジュール実行できなくなった話

先日、Ansibleコントロールノードを10.4.0 (Ansible core 2.17)にバージョンアップした。

RHEL 8系のOSに対してdnfモジュールを用いて操作をしようとしたところ、以下のようなエラーが発生し実行に失敗してしまった。

TASK [Update gitlab packages] *******************************************************************************************************************************************************************
{
  "changed": false,
  "module_stderr": "Shared connection to 192.168.11.26 closed.\r\n",
  "module_stdout": "Traceback (most recent call last):\r\n  File \"<stdin>\", 
  line 12, in <module>\r\n  File \"<frozen importlib._bootstrap>\", 
  line 971, in _find_and_load\r\n  File \"<frozen importlib._bootstrap>\", 
  line 951, in _find_and_load_unlocked\r\n  File \"<frozen importlib._bootstrap>\", 
  line 894, in _find_spec\r\n  File \"<frozen importlib._bootstrap_external>\", 
  line 1157, in find_spec\r\n  File \"<frozen importlib._bootstrap_external>\", 
  line 1131, in _get_spec\r\n  File \"<frozen importlib._bootstrap_external>\", 
  line 1112, in _legacy_get_spec\r\n  File \"<frozen importlib._bootstrap>\", 
  line 441, in spec_from_loader\r\n  File \"<frozen importlib._bootstrap_external>\", 
  line 544, in spec_from_file_location\r\n  File \"/tmp/ansible_ansible.legacy.dnf_payload_25y3u3vr/ansible_ansible.legacy.dnf_payload.zip/ansible/module_utils/basic.py\", line 5\r\nSyntaxError: future feature annotations is not defined\r\n",
  "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
  "rc": 1
}

RHEL 8のOSにPython 3.12を個別にdnfでインストールして、ansible_python_interpreterでPythonのパスを指定しても、dnfモジュールはうまく動作してくれないので、いろいろ調べたところ、どうやらこれは、管理ノード側のPythonが古い(Python 3.7未満)ことによる「仕様」であり解決できないようだ。

以下に本情報が記載されている、GitHubのIssueを日本語訳したものを引用する。

ansible-core 2.17 は、ターゲット実行に Python 3.7 以降のみをサポートしています。それより低いバージョンの Python を使用しているシステムはサポートされていません。これらのシステムでは、より新しいバージョンの Python をインストールできる可能性がありますが、パッケージ マネージャーなどのシステム タスク用のパッケージが不足しているため、すべてのモジュールが機能しない可能性があります。
そのコメントに従って、よりフレンドリーなエラーのために機能を人為的に制限することは、長期的には価値がないと判断しました。
SyntaxError: future feature annotations is not defined #82068

残念ながら、自宅はまだまだRHEL 8系OSが現役なので、この仕様は非常に困る。本事象の回避のため、AnsibleコントロールノードをAnsible 10.x (Ansible core 2.17) → Ansible 9.x (Ansible core 2.16) にダウングレードすることにした。

Ansibleダウングレード手順

1. インストール可能なAnsibleのバージョン確認

まずは、インストール可能なAnsibleのバージョンを確認する。存在しないバージョンとして0を指定することで、エラー表示にてインストール可能なバージョンが表示される。

# python3 -m pip install --upgrade ansible=='0'
ERROR: Ignored the following yanked versions: 9.0.0, 9.5.0, 9.6.0, 10.0.0
ERROR: Could not find a version that satisfies the requirement ansible==0 (from versions: 1.0, 1.1, 1.2, 1.2.1, 1.2.2, 1.2.3, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.5, 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.6, 1.6.1, 1.6.2, 1.6.3, 1.6.4, 1.6.5, 1.6.6, 1.6.7, 1.6.8, 1.6.9, 1.6.10, 1.7, 1.7.1, 1.7.2, 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.9.0.1, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.9.5, 1.9.6, 2.0.0.0, 2.0.0.1, 2.0.0.2, 2.0.1.0, 2.0.2.0, 2.1.0.0, 2.1.1.0, 2.1.2.0, 2.1.3.0, 2.1.4.0, 2.1.5.0, 2.1.6.0, 2.2.0.0, 2.2.1.0, 2.2.2.0, 2.2.3.0, 2.3.0.0, 2.3.1.0, 2.3.2.0, 2.3.3.0, 2.4.0.0, 2.4.1.0, 2.4.2.0, 2.4.3.0, 2.4.4.0, 2.4.5.0, 2.4.6.0, 2.5.0a1, 2.5.0b1, 2.5.0b2, 2.5.0rc1, 2.5.0rc2, 2.5.0rc3, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.5.6, 2.5.7, 2.5.8, 2.5.9, 2.5.10, 2.5.11, 2.5.12, 2.5.13, 2.5.14, 2.5.15, 2.6.0a1, 2.6.0a2, 2.6.0rc1, 2.6.0rc2, 2.6.0rc3, 2.6.0rc4, 2.6.0rc5, 2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6, 2.6.7, 2.6.8, 2.6.9, 2.6.10, 2.6.11, 2.6.12, 2.6.13, 2.6.14, 2.6.15, 2.6.16, 2.6.17, 2.6.18, 2.6.19, 2.6.20, 2.7.0.dev0, 2.7.0a1, 2.7.0b1, 2.7.0rc1, 2.7.0rc2, 2.7.0rc3, 2.7.0rc4, 2.7.0, 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7, 2.7.8, 2.7.9, 2.7.10, 2.7.11, 2.7.12, 2.7.13, 2.7.14, 2.7.15, 2.7.16, 2.7.17, 2.7.18, 2.8.0a1, 2.8.0b1, 2.8.0rc1, 2.8.0rc2, 2.8.0rc3, 2.8.0, 2.8.1, 2.8.2, 2.8.3, 2.8.4, 2.8.5, 2.8.6, 2.8.7, 2.8.8, 2.8.9, 2.8.10, 2.8.11, 2.8.12, 2.8.13, 2.8.14, 2.8.15, 2.8.16rc1, 2.8.16, 2.8.17rc1, 2.8.17, 2.8.18rc1, 2.8.18, 2.8.19rc1, 2.8.19, 2.8.20rc1, 2.8.20, 2.9.0b1, 2.9.0rc1, 2.9.0rc2, 2.9.0rc3, 2.9.0rc4, 2.9.0rc5, 2.9.0, 2.9.1, 2.9.2, 2.9.3, 2.9.4, 2.9.5, 2.9.6, 2.9.7, 2.9.8, 2.9.9, 2.9.10, 2.9.11, 2.9.12, 2.9.13, 2.9.14rc1, 2.9.14, 2.9.15rc1, 2.9.15, 2.9.16rc1, 2.9.16, 2.9.17rc1, 2.9.17, 2.9.18rc1, 2.9.18, 2.9.19rc1, 2.9.19, 2.9.20rc1, 2.9.20, 2.9.21rc1, 2.9.21, 2.9.22rc1, 2.9.22, 2.9.23rc1, 2.9.23, 2.9.24rc1, 2.9.24, 2.9.25rc1, 2.9.25, 2.9.26rc1, 2.9.26, 2.9.27rc1, 2.9.27, 2.10.0a1, 2.10.0a2, 2.10.0a3, 2.10.0a4, 2.10.0a5, 2.10.0a6, 2.10.0a7, 2.10.0a8, 2.10.0a9, 2.10.0b1, 2.10.0b2, 2.10.0rc1, 2.10.0, 2.10.1, 2.10.2, 2.10.3, 2.10.4, 2.10.5, 2.10.6, 2.10.7, 3.0.0b1, 3.0.0rc1, 3.0.0, 3.1.0, 3.2.0, 3.3.0, 3.4.0, 4.0.0a1, 4.0.0a2, 4.0.0a3, 4.0.0a4, 4.0.0b1, 4.0.0b2, 4.0.0rc1, 4.0.0, 4.1.0, 4.2.0, 4.3.0, 4.4.0, 4.5.0, 4.6.0, 4.7.0, 4.8.0, 4.9.0, 4.10.0, 5.0.0a1, 5.0.0a2, 5.0.0a3, 5.0.0b1, 5.0.0b2, 5.0.0rc1, 5.0.1, 5.1.0, 5.2.0, 5.3.0, 5.4.0, 5.5.0, 5.6.0, 5.7.0, 5.7.1, 5.8.0, 5.9.0, 5.10.0, 6.0.0a1, 6.0.0a2, 6.0.0a3, 6.0.0b1, 6.0.0b2, 6.0.0rc1, 6.0.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0, 6.5.0, 6.6.0, 6.7.0, 7.0.0a1, 7.0.0a2, 7.0.0b1, 7.0.0rc1, 7.0.0, 7.1.0, 7.2.0, 7.3.0, 7.4.0, 7.5.0, 7.6.0, 7.7.0, 8.0.0a1, 8.0.0a2, 8.0.0a3, 8.0.0b1, 8.0.0rc1, 8.0.0, 8.1.0, 8.2.0, 8.3.0, 8.4.0, 8.5.0, 8.6.0, 8.6.1, 8.7.0, 9.0.0a1, 9.0.0a2, 9.0.0a3, 9.0.0b1, 9.0.0rc1, 9.0.1, 9.1.0, 9.2.0, 9.3.0, 9.4.0, 9.5.1, 9.6.1, 9.7.0, 9.8.0, 9.9.0, 9.10.0, 9.11.0, 10.0.0a1, 10.0.0a2, 10.0.0a3, 10.0.0b1, 10.0.0rc1, 10.0.1, 10.1.0, 10.2.0, 10.3.0, 10.4.0, 10.5.0, 11.0.0a1)
ERROR: No matching distribution found for ansible==0

2. Ansible 9.11.0をインストール

Ansible 9.xの最新バージョンとなるAnsible 9.11.0をインストールする。

# python3 -m pip install ansible=='9.11.0'

Ansibleのバージョンを確認するとAnsible core 2.16.12になっていることがわかる。

# ansible --version
ansible [core 2.16.12]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.12/site-packages/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.12.3 (main, Jul  2 2024, 16:34:01) [GCC 8.5.0 20210514 (Red Hat 8.5.0-22)] (/usr/bin/python3)
  jinja version = 3.1.4
  libyaml = True

3. 動作確認

あらためて、dnfモジュールを含めたPlaybookを実行すると、以下の通り成功した。

TASK [Update gitlab packages] **************************************************************************************************************************************************************************************
changed: [t1026gitl]

以上で、Ansibleのダウングレード手順は完了となる。今後は、RHEL 8系のサーバーを徐々にRHEL 9系に移行し、Ansibleの最新バージョンが利用できるよう環境を整えていきたい。

人気の投稿