🔖

【Intune】サインイン時にWindows Hello for Businessの設定を非表示にする

2023/01/24に公開

概要

AzureAD joinした際のWindows Hello for Business(以下WHfB)について、サインイン時の設定画面を非表示にしつつ、後からユーザーが任意に設定できるようにするという小ネタです。

説明

WindowsPCをAzureAD joinすると、 デフォルト設定では初回もしくは次回ログインの際にWHfBの設定画面が表示されます。

諸々の事情でこの画面を出したくないという場合は、Intuneの登録設定からWHfBを無効化することで表示されないようにできます。

ただし、上記設定で無効化した場合はユーザーが顔認証や指紋認証を利用することができなくなります。

「え、全員使えないのは困るんだけど。。」
という場合は構成プロファイルで再度有効化できるのですが、有効にしたい人だけにプロファイルを割り当てるという負荷の高い運用になってしまいます。(そうしないと設定しない人にも設定画面がサインイン毎に表示されて「邪魔」と言われる)

理想としては

  • サインイン時にはWHfBの設定画面が表示されない
  • 設定したい人は自由に設定できる
  • 個別のプロファイル割り当てが不要

という状態なのですが、その場合はWHfBを有効にしつつサインイン後に Windows Hello のプロビジョニングを開始しないという設定を有効にする必要があります。

ただし、この設定はOMA-URIが用意されていないのでIntuneの構成プロファイルからは設定することができません。(もしできたらすみません、是非教えてください)

じゃあどうすればよいのかというと、はいそうです、直接レジストリを変更します。
正攻法はregファイルを用意してIntunewinを作成してアプリとして配布するという方法で、これだとレジストリが適用できたか正確に判別できるのでベストなのですが、そもそもWHfBは有効化すべきではあるので今回は一時的な設定ということで簡単にPowerShellで設定してしまいましょう。

WHfB_DisablePostloginProvisioning.ps1

$passportForWorkPath = "HKLM:SOFTWARE\Policies\Microsoft\PassportForWork"
if (-not (Test-Path $passportForWorkPath)) {
  New-Item -Path $passportForWorkPath
}

New-ItemProperty -LiteralPath $passportForWorkPath -Name "Enabled" -PropertyType "DWord" -Value 1
New-ItemProperty -LiteralPath $passportForWorkPath -Name "DisablePostLogonProvisioning" -PropertyType "DWord" -Value 1

これをアップロードして対象のマシンに割り当てるだけです。

もし将来全員への設定を必須とするようになれば、DisablePostLogonProvisioningを1->0に変更して再度スクリプトを配布してもらえば毎回設定画面が表示されるようになります。

最後に

本当は諸々の事情なんかなくて全員WHfBを設定できるのが一番なんですが、サポートコストも増えるので情シス立ち上げで余裕がない時なんかはこういうことをやって凌ぐのもありだと思ってます。が、パスワードレスも実現できるのでぜひWHfBは全員に設定していきましょう。
なお、独自に調べてこの方法に落ち着いたんですが、もしもっとスマートなやり方を知っている方がいたらぜひ教えてください。

Discussion