GitHub上のMicrosoftDocs/memdocsで行われた今回の更新は、GitHub CopilotやGitHub Actionsの新機能ではありません。結論から言うと、IntuneのBIOSパスワード取得に関するMicrosoft Graph API参照が、非推奨・削除済みのhardwarePasswordInfoから、現行のhardwarePasswordDetailsへ修正されたドキュメント更新です。古いエンドポイントをスクリプトや運用手順に残している場合、No OData route exists...のようなエラーで取得処理が失敗する可能性があります。管理者や開発者は、GitHubリポジトリ内のコード、Runbook、Graph Explorer手順、PowerShellスクリプトを確認し、hardwarePasswordDetailsへ置き換える必要があります。
GitHubのドキュメント更新で何が変わったのか
2026年5月にGitHub上のMicrosoftDocs/memdocsリポジトリで、hardwarePasswordInfoをhardwarePasswordDetailsに更新するPRがマージされました。PR内では、hardwarePasswordInfoは2024年6月のIntune Release 2406で非推奨になり、その後削除されたため、古いエンドポイントではODataルート不一致のエラーが返ると説明されています。(GitHub)
変更の中心は、Intuneの「BIOS configuration and other settings」で保存・取得されるBIOSパスワード情報を、Microsoft Graph経由で参照するAPI名です。
| 項目 | 旧表記 | 新表記 |
|---|---|---|
| リソース名 | hardwarePasswordInfo | hardwarePasswordDetail |
| 一覧取得 | /deviceManagement/hardwarePasswordInfo | /deviceManagement/hardwarePasswordDetails |
| 単体取得 | /deviceManagement/hardwarePasswordInfo/{id} | /deviceManagement/hardwarePasswordDetails/{hardwarePasswordDetailId} |
| 状態 | 非推奨、削除済みの可能性あり | 現行ドキュメントで案内されている参照先 |
| 主な影響 | 旧URLを使うスクリプトや手順が失敗 | BIOSパスワード取得処理を継続可能 |
Microsoft Learnの旧hardwarePasswordInfoページにも、2024年6月のIntune Release 2406以降、この型はサポートされず非推奨として扱われる旨が記載されています。(Microsoft Learn)
これはGitHubの機能変更ではなく、GitHub上の公式ドキュメント修正
今回のトピック名に「GitHub documentation update」とあるため、GitHubのAPIやCopilotの変更と誤解しやすいですが、実際の影響範囲はMicrosoft IntuneとMicrosoft Graph APIです。
GitHubは、Microsoft Learnなどのドキュメントを管理・公開するリポジトリの場として使われています。つまり、GitHub管理者がGitHub Enterpriseの設定を変更する必要がある更新ではなく、Intune運用者、Microsoft Graph APIを使う開発者、社内RunbookをGitHubで管理しているチームが対応すべき更新です。
特に確認すべきなのは、次のような場所です。
| 確認対象 | 具体例 | 対応 |
|---|---|---|
| GitHubリポジトリ内のコード | PowerShell、Python、Graph API呼び出し | hardwarePasswordInfoを検索して置換 |
| 社内ドキュメント | Intune運用手順、障害対応手順 | Graph APIのURLと必要権限を更新 |
| GitHub Actions | Graph APIを呼び出す検証ジョブ | 旧エンドポイントの使用有無を確認 |
| Graph Explorerの手順書 | BIOSパスワード取得手順 | hardwarePasswordDetailsのURLに修正 |
| 監視・棚卸しツール | BIOSパスワード取得の定期処理 | 実行ログと権限を再確認 |
影響を受けるケース
影響を受けるのは、Intuneで管理しているWindowsデバイスのBIOSパスワード情報をMicrosoft Graphから取得している環境です。hardwarePasswordDetailは、管理対象のBIOSおよびファームウェア構成を持つデバイスのBIOSパスワード情報を扱うリソースで、デバイスのシリアル番号、現在のBIOSパスワード、過去のパスワード一覧などを含みます。(Microsoft Learn)
次のいずれかに当てはまる場合は、移行確認が必要です。
- IntuneのBIOS構成機能を使っている
- Dell端末などでBIOSパスワードをIntune管理している
- Microsoft Graph ExplorerでBIOSパスワードを取得している
- PowerShell SDKやREST APIで
/deviceManagement/hardwarePasswordInfoを呼び出している - GitHubに保存した運用スクリプトや手順書に古いAPI名が残っている
- エラー内容に
No OData route existsやhardwarePasswordInfoが含まれている
一方、GitHub Copilot、GitHub Actions、GitHub API、GitHubリポジトリ権限そのものには直接の設定変更はありません。ただし、GitHubでIntune運用コードを管理している場合は、リポジトリ検索とレビューが実務上の対応ポイントになります。
旧エンドポイントで起きやすいエラー
古いAPI参照を使い続けると、次のようなエラーが出ることがあります。
No OData route exists that match template ~/singleton/navigation
with http verb GET for request
/DeviceConfiguration_2604/StatelessDeviceConfigurationFEService/deviceManagement/hardwarePasswordInfo
このエラーは、認証情報が間違っているというより、呼び出しているルート自体が現在のサービス側に存在しない可能性を疑うべきです。権限を追加しても解消しない場合は、まずURLにhardwarePasswordInfoが残っていないか確認してください。
正しいAPI参照はhardwarePasswordDetails
一覧取得に使う基本のエンドポイントは次の形式です。Microsoft LearnのList hardwarePasswordDetailsページでは、GET /deviceManagement/hardwarePasswordDetailsがHTTPリクエストとして示されています。(Microsoft Learn)
GET https://graph.microsoft.com/beta/deviceManagement/hardwarePasswordDetails
単体取得は次の形式です。
GET https://graph.microsoft.com/beta/deviceManagement/hardwarePasswordDetails/{hardwarePasswordDetailId}
Microsoft LearnのGet hardwarePasswordDetailページでは、単体取得のリクエストとしてGET /deviceManagement/hardwarePasswordDetails/{hardwarePasswordDetailId}が案内されています。(Microsoft Learn)
注意したいのは、hardwarePasswordDetailsは現時点でMicrosoft Graphのbeta APIとして案内されている点です。MicrosoftはIntuneの/beta APIについて、変更頻度が高く、可能であればv1.0を使うことを推奨しています。(Microsoft Learn)
移行時に確認すべき権限
hardwarePasswordDetailsにURLを変えるだけでは、すべての環境で成功するとは限りません。BIOSパスワードは機密性の高い情報なので、Graph API権限とIntune側のロールを分けて確認する必要があります。
| 操作 | 必要な確認 | 実務上のポイント |
|---|---|---|
| 全デバイスのBIOSパスワード一覧取得 | Graph API権限と管理者ロール | 最小権限での運用が難しいため、実行者を限定する |
| 1台ずつ取得 | Intune RBACのRead Bios Password権限 | ヘルプデスク用ロールを作る場合は対象範囲を絞る |
| アプリケーション権限で取得 | DeviceManagementManagedDevices.PrivilegedOperations.All | 管理者同意後、トークンを再取得する |
| Graph Explorerで検証 | サインインユーザーのロールと同意済み権限 | URL変更後も権限不足エラーが出る場合がある |
Microsoft Learnの一覧取得・単体取得ページでは、委任権限とアプリケーション権限のいずれもDeviceManagementManagedDevices.PrivilegedOperations.Allが必要権限として示されています。(Microsoft Learn)
IntuneのBIOSパスワード取得手順では、1台ずつ読む場合はRead Bios Password権限を持つカスタムIntune RBACロールを作成し、全デバイスの一覧取得では少なくともMicrosoft Entra IDのIntune Administratorロールが必要と説明されています。(Microsoft Learn)
GitHubリポジトリでまず検索する文字列
社内のGitHubやGitHub Enterpriseで運用コードを管理している場合は、まず次の文字列を検索してください。
hardwarePasswordInfo
hardwarePasswordInfos
/deviceManagement/hardwarePasswordInfo
intune-deviceconfig-hardwarepasswordinfo
ローカルにクローンしている場合は、ripgrepを使うと早く確認できます。
rg "hardwarePasswordInfo|hardwarePasswordInfos|/deviceManagement/hardwarePasswordInfo" .
PowerShellだけで確認するなら、次のように検索できます。
Get-ChildItem -Recurse -File |
Select-String -Pattern "hardwarePasswordInfo","hardwarePasswordInfos","/deviceManagement/hardwarePasswordInfo"
見つかった箇所は、単純な文字列置換で済む場合もありますが、次の点は必ず目視確認してください。
| 確認項目 | 理由 |
|---|---|
| 単数形・複数形の違い | リソース型はhardwarePasswordDetail、コレクションはhardwarePasswordDetails |
| URLの末尾 | 一覧取得か単体取得かで形式が異なる |
| レスポンス処理 | @odata.typeやオブジェクト名を固定で判定している可能性がある |
| 権限エラー処理 | URL変更後に権限不足が表面化することがある |
| ログ出力 | currentPasswordをログやGitHub Actionsの出力に残さない |
移行手順:安全に置き換える流れ
API名の変更は小さく見えますが、BIOSパスワードを扱うため、通常のエンドポイント置換より慎重に進めるべきです。
| 手順 | 作業内容 | 失敗しやすいポイント |
|---|---|---|
| 1 | GitHubリポジトリ全体でhardwarePasswordInfoを検索 | ドキュメントだけ更新してスクリプトが残る |
| 2 | 旧URLをhardwarePasswordDetailsへ変更 | 単体取得のID指定を誤る |
| 3 | Graph API権限を確認 | URL変更後にPrivilegedOperations不足で失敗する |
| 4 | Intuneロールを確認 | Graph権限はあるがIntune側ロールが足りない |
| 5 | 検証用テナントまたは限定端末でテスト | 全端末一覧取得をいきなり本番で実行する |
| 6 | ログと監査を確認 | BIOSパスワードが平文で残る |
| 7 | Runbookと障害対応手順を更新 | 現場が旧手順で再発させる |
特にGitHub ActionsでGraph APIを実行している場合、echo、デバッグログ、失敗時のレスポンス出力に注意してください。hardwarePasswordDetailsのレスポンスにはcurrentPasswordやpreviousPasswordsが含まれるため、CIログに出すべきではありません。
BIOSパスワードはIntune外にもバックアップが必要
Microsoft LearnのIntune手順では、BIOSパスワードをIntune外部にもバックアップするよう明記されています。デバイスがIntune管理から削除された場合でも管理者はhardwarePasswordDetails APIでBIOSパスワードを読める一方、テナントのIntuneサブスクリプションが終了するとBIOSパスワードを取得できず、OEMへの問い合わせが必要になると説明されています。(Microsoft Learn)
これは運用上かなり重要です。API移行だけを済ませても、次のようなケースでは現場対応に詰まる可能性があります。
- 退職者端末をIntuneから削除した後にBIOS変更が必要になった
- デバイス再登録で古いパスワード情報と新しい情報が混在した
- Intune契約終了後に端末保守が必要になった
- 障害対応でBIOSパスワードを確認したいが、取得権限を持つ管理者が不在
- OEM修理時に現在のBIOSパスワードが必要になった
移行作業と同時に、「誰が」「どの手順で」「どこに安全に記録するか」を決めておくべきです。バックアップ先は、GitHubリポジトリではなく、組織で承認されたシークレット管理基盤やパスワード管理システムを使います。
Dell端末を管理している環境は特に確認が必要
IntuneのBIOS構成機能は、OEMの対応状況に依存します。Microsoft LearnのBIOS構成とDFCIの比較では、BIOS configuration and other settingsのサポートOEMとしてDellが示されています。(Microsoft Learn)
Dellのドキュメントでも、BIOS Password managementに使うGraph APIとしてList hardwarePasswordDetailsやGet hardwarePasswordDetailsなどが案内されています。(Dell)
Dell端末をIntuneで管理している場合は、次の観点で確認すると実務的です。
| 確認項目 | 内容 |
|---|---|
| BIOS構成プロファイル | 対象デバイスに正しく割り当てられているか |
| OEMエージェント | Dell側ツールやエージェントのバージョンが古くないか |
| 取得API | hardwarePasswordInfoではなくhardwarePasswordDetailsか |
| 権限 | Graph権限、Intuneロール、Entraロールがそろっているか |
| パスワード削除 | 管理終了前にBIOSパスワード無効化ポリシーを適用しているか |
開発者がコード上で注意すべきポイント
開発者は、API URLの置換だけでなく、レスポンスの扱いとエラー分岐も見直してください。
例えば、旧APIを前提に次のような処理をしている場合は危険です。
$uri = "https://graph.microsoft.com/beta/deviceManagement/hardwarePasswordInfo"
$response = Invoke-MgGraphRequest -Method GET -Uri $uri
$response.value | Select-Object serialNumber,currentPassword
移行後は、少なくとも次のようにURLを変更します。
$uri = "https://graph.microsoft.com/beta/deviceManagement/hardwarePasswordDetails"
$response = Invoke-MgGraphRequest -Method GET -Uri $uri
$response.value | Select-Object serialNumber,currentPassword
ただし、実運用ではcurrentPasswordを標準出力に出さない設計にしてください。棚卸し目的なら、件数、対象デバイスID、取得成功可否だけをログに残し、パスワード本体は必要な管理者だけが確認できる場所で扱うべきです。
管理者が展開前に確認すべきチェックリスト
本番展開前に、次のチェックリストを使うと抜け漏れを減らせます。
| チェック | 確認内容 |
|---|---|
| API名 | hardwarePasswordInfoが残っていない |
| エンドポイント | 一覧取得は/deviceManagement/hardwarePasswordDetailsになっている |
| APIバージョン | beta APIであることを関係者が理解している |
| Graph権限 | DeviceManagementManagedDevices.PrivilegedOperations.Allを確認した |
| Intuneロール | 1台取得と全台取得で必要ロールを分けて確認した |
| ログ | currentPasswordやpreviousPasswordsが出力されない |
| バックアップ | Intune外部の安全な保管方法を決めた |
| Runbook | Graph Explorer手順と障害対応手順を更新した |
| GitHub Actions | シークレットやログマスク設定を確認した |
| 監査 | 誰がBIOSパスワードを取得できるか棚卸しした |
よくある疑問
GitHub側で何か設定変更は必要?
通常は不要です。今回の変更はGitHubプラットフォームの設定変更ではなく、GitHub上で管理されているMicrosoft Learn関連ドキュメントの修正です。ただし、GitHubリポジトリにIntune運用コードや手順書を置いている場合は、検索・修正・レビューが必要です。
hardwarePasswordInfoページがまだ見つかる場合は使ってよい?
使わない方が安全です。旧ページが検索結果に残っていても、Microsoft Learn上では2024年6月のIntune Release 2406以降サポートされず非推奨とされており、PRでも削除済みとしてエラー例が示されています。(Microsoft Learn)
hardwarePasswordDetailsに変えても失敗する場合は?
まず権限を確認してください。ListとGetのMicrosoft Learnページでは、DeviceManagementManagedDevices.PrivilegedOperations.Allが必要権限として示されています。次に、サインインユーザーのIntuneロール、対象デバイスがBIOS構成管理の対象か、Graph APIのbetaを使っているかを確認します。(Microsoft Learn)
すべてのWindows端末で使える?
すべてのWindows端末で一律に使える機能ではありません。hardwarePasswordDetailは、管理対象のBIOSおよびファームウェア構成を持つデバイスのBIOSパスワード情報を扱うリソースです。OEM対応、Intuneプロファイル、デバイス登録状態を確認する必要があります。(Microsoft Learn)
まずやるべきこと
今回のGitHub documentation updateで最も重要なのは、hardwarePasswordInfoを使い続けないことです。旧API名は2024年6月のIntune Release 2406で非推奨となり、現在はhardwarePasswordDetailsへの移行が前提です。
最初に、GitHubやローカルの運用コードからhardwarePasswordInfoを検索してください。見つかったら、hardwarePasswordDetailsへ更新し、Graph API権限、Intuneロール、ログ出力、パスワード保管方法まで確認します。BIOSパスワードは端末保守に直結する機密情報なので、API移行を単なるURL変更で終わらせず、運用手順とアクセス管理も同時に見直すことが安全な対応です。

コメント