皆さん、こんにちは。ナガイです。
今回はファイル拡張子表示設定を行ってみました。
以前、下のブログでご紹介させていただいたのですが、これからの流れだとバッチファイルよりパワーシェルスクリプトで作成する方がいいよなと思っていました。
ということで、今回は前回と比べ以下の点を改良しております。
- intunewin化するファイルをバッチファイル→PowerShellスクリプトに変更
- スクリプト配布後にデバイスの再起動が必要だったのを不要に
- ログファイルを吐き出すようにして、エラー発生時に対応できるように
拡張子を表示させるまでの流れ
intuneへの設定は以下の流れで実施します。
本ページでは、PowerShellスクリプトをintunewinファイルに変換し、Win32アプリで配布します。
ポイントは、前回と同様にアプリ配布設定の画面での設定値です。
- インプットファイルの作成
- Intunewinファイルへの変換
- Intuneへの設定
インプットファイルの作成
1.PowerShell ISEを開きます。(権限は一般でも、管理者でもどちらでも問題ありません。)

2.以下のコマンドをコピペします。
# tagファイルを作成する(検出規則用)
if (-not (Test-Path "$($env:USERPROFILE)\IntuneLog\FileExtention")){
Mkdir "$($env:USERPROFILE)\IntuneLog\FileExtention"
}
Set-Content -Path "$($env:USERPROFILE)\IntuneLog\FileExtention\FileExtention.tag" -Value "Installed"
# ログを出力する
Start-Transcript "$($env:USERPROFILE)\IntuneLog\FileExtention\FileExtention.log"
#ファイル拡張子の表示を司るレジストリ値(HideFileExt)の値を変更する
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "HideFileExt" -Value 0 -Type DWord
#エクスプローラを再起動し、ファイル拡張子表示設定を反映させる
Stop-Process -Name "explorer" -Force
Start-Process "explorer.exe"
3.ファイル名を「FileExtention.ps1」として保存します。
Intunewinファイルへの変換
Win32アプリ配布するために、作成したファイルをIntunewinファイルへ変換します。
Microsoft Win32 コンテンツ準備ツールをダウンロードする
Intuneで、Win32アプリ配布を行いたいときは、必ず事前にintunewinファイルに形式を変換する必要があります。この変換を行ってくれるツールをMicrosoftが準備してくれています。詳細は以下の公開情報をご参考ください。
1.以下のサイトにアクセスします。
2.[<>Code]のプルダウンをクリックし、[Download ZIP]をクリックします。

3.ダウンロードされたzipファイルを解凍、展開します。
PS1ファイルをintunewinファイルに変換する
1.展開されたファイルから「IntuneWinAppUtill.exe」を管理者権限で開きます。
2.コマンドプロンプトが立ち上がります。それぞれの値を入力しそれぞれEnterをおしてください。
- Please specify the source folder: → RemoveApps.ps1の格納されているフォルダパス
- Please specify the setup file: → 「RemoveApps.ps1」
- Please specify the output folder: → 変換したintunewinファイルを格納したいパス
- Do you want to specify catalog folder (Y/N)? → Nを入力してください。

3.成功すると、output folderに指定したフォルダにintunewinファイルが生成されます。

Intuneへの設定
1.Intune管理センターを開きます。

2.[アプリ]-[Windows]をクリックします。

3.[ + 追加 ]をクリックします。

4.アプリの種類から[ Windowsアプリ(Win32) ]を選びます。

5. [ 選択 ]をクリックします。
6. [ アプリ パッケージ ファイルの選択 ]をクリックします。
7.上述の手順で作成したintunewinファイル(RemoveApps.intunewin)を選択し,[ OK ]を選択します。

8.『アプリ情報』の画面にて、以下を入力します。
- 発行元:(適当)
- そのほかの項目:必要に応じて設定

9.『プログラム』の画面にて、以下を入力し、[ 次へ ]をクリックします。
- インストールコマンド:powershell.exe -noprofile -executionpolicy bypass -WindowStyle Hidden -file .\FileExtention.ps1
- アンインストールコマンド:powershell.exe -noprofile -executionpolicy bypass -WindowStyle Hidden -file .\FileExtention.ps1
- インストールの処理:ユーザー
- そのほかの項目:適時設定してください

10.『必要条件』の画面で、以下を入力し、[ 次へ ]をクリックします。
- オペレーティング システムのアーキテクチャ:32ビット、64ビット
- 最低限のオペレーティング システム:配布したいデバイスのバージョンが包括されるもの
11.『検出規則』の画面で、[ 規則の形式 ]から [ 検出規則を手動で構成する ]を選択します。

12.[ + 追加 ]をクリックします。

13.『検出規則』画面が表示されるので、以下を入力し、[ OK ]をクリックします。
- 規則の種類:レジストリ
- キーパス:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
- 値の名前:HideFileExt
- 検出方法:整数値を比較
- 演算子:指定の値に等しい
- 値:0

14.元の画面に戻るので、[ 次へ ]をクリックします。
15.『依存関係』は特に設定がないので、[ 次へ ]をクリックします。
16.『置き換え』にも設定はありませんので、[ 次へ ]をクリックします。
17.『割り当て』の「必須」に配布したいデバイスを追加し、[ 次へ ]をクリックします。
18.『確認と作成』で、設定値を確認し問題なければ、[ 作成 ]をクリックします。
設定方法は以上となります。
デバイス上でのログ確認方法
Intuneでのアプリ配布方法が利用しにくい理由の一つにログが取得しづらいということが挙げられます。今回ご紹介した方法では、実行されたスクリプトをログに残すようにコーディングされていますので、もし気になる方は以下の方法で内容をご確認ください。
1.
FileExtention.ps1が実行されたデバイスで、エクスプローラを開きます。
2.以下のパスを入力します。
パス:%USERPROFILE%\IntuneLog\FileExtention
3.パスが通ると、2つのファイルがあると思います。
- FileExtention.log:実行されたPowershellについての結果を記したログファイルです。
- FileExtention.tag:Intuneの検出規則で利用するファイルです。触らないでください。
4.FileExtention.logを開きます。内容を確認し、削除できていないものがないかを確認してください。
削除を再実行したい場合 (2025.1.31更新)
再実行したい場合ですが、上記で記載している「FileExtention.tag」ファイルを削除してください。
検出規則をこのtagファイルがあるかどうかに設定しているため、Intuneがデバイスを確認する際に、tagファイルがないため、コマンドが再実行されます。
最後に
本日の解説は以上となります。
自分なりにより、快適にユーザーに利用いただけるように、改良をしてみました。
ぜひ、今後の設定の参考にしてみてください。
このほかにも、さまざまな構成ファイル設定やアプリ配布実績が私にはあります。
もし、Autopilot技術に興味がある、自分たちのPC設定内容がどこまで実現できるのか知りたいなど、ご相談ベースでも構いません。ご連絡いただけましたら、調査することも可能でございますので気軽にご相談ください。

コメント