皆さんこんにちは。国井です。2019年もどうぞよろしくお願いいたします。
前回、PowerShellからMicrosoft Intuneを操作する方法を紹介しましたが、
ブログを書いた後で、なんとPowerShellコマンドレットが用意されていることに気が付きました。
Intune-PowerShell-SDK
https://github.com/Microsoft/Intune-PowerShell-SDK
上記のサイトにも書いてありますが、
・https://github.com/Microsoft/Intune-PowerShell-SDK/releasesからダウンロードすること
・.NET Framework 4.7.1以降が事前にインストールされていること
・Windows 10の場合、net471フォルダーにあるコンテンツを使うこと
という条件を満たすように構成します。
そのうえで、次のコマンドレットを実行してIntuneに接続します。
(Microsoft.Graph.Intune.psd1ファイルはnet471フォルダー内にあります)
Install-Module Microsoft.Graph.Intune Connect-MSGraph
管理者の資格情報を入力すると、OAuth2.0の承諾画面が出るので、承諾しておきます。
以上で設定は完了です。
利用可能なコマンドレットは
Get-Command –Module Microsoft.Graph.Intune と実行すれば確認できます。
なんと、その数914!
いくつかみてみましょう。
Intune登録デバイスの確認
Get-IntuneManagedDeviceコマンドレットを使います。
実行結果のうち、deviceName属性がデバイスの名前、deviceEnrollmentType属性がAzure ADへのデバイス登録方法(registered, WindowsAzureADJoinなど)、osVersion属性がOSバージョンをそれぞれ表します。
ポリシーの準拠状況の確認
Get-IntuneManagedDeviceDeviceCompliancePolicyStateコマンドレットで確認できますが、確認するデバイスのIDを指定する必要があるので、
Get-IntuneManagedDevice | Get-IntuneManagedDeviceDeviceCompliancePolicyState
のように指定します。
展開するアプリの確認
展開するアプリはGet-IntuneMobileAppコマンドレットを使います。
ただ、色々な情報が出てきて見にくいので、Get-IntuneMobileApp | ft displayName のように整形するとよいでしょう。
Graph APIのメソッドで直接アクセス
Intune用PowerShellコマンドレットを実行すると、内部的にはGraph APIを実行してアクセスしています。
Graph APIによる直接的なアクセスを行いたい場合、Invoke-MSGraphRequestコマンドレットを使います。
Graph APIではHTTPプロトコルのGETメソッドを使ってアクセスするので、
パラメーターとしてGETメソッドの指定、さらにアクセスしたい情報をURIで指定します。
例えば、前述の展開するアプリの確認をGraph APIで直接指定する場合、次のように指定します。
Invoke-MSGraphRequest -HttpRequest GET -Uri ‘deviceAppManagement/mobileApp/アプリID’
ちなみにアプリIDはGet-IntuneMobileApp | ft displayName, id コマンドレットを実行すれば確認できます。
デバイスに対するワイプ/リタイヤ等の操作
Intune管理デバイスに対して、ワイプやリタイヤ(セレクティブワイプ)、再起動などの操作はInvoke-IntuneManagedDevice*コマンドレットで実行できます。
例えば、再起動を実行する場合はInvoke-IntuneManagedDeviceRebootNowコマンドレットを実行します。デバイスの指定には、デバイスの名前ではなく、デバイスIDが必要になるので、先にGet-IntuneManagedDeviceコマンドレットでIDを調べておいてから実行します。
デバイス所有者の設定変更
デバイスに対して設定されたプロパティ情報を変更する場合もそれぞれの設定に対応したコマンドレットが用意されています。例えば、前回の投稿でも紹介したデバイス所有者情報を変更する場合はUpdate-IntuneManagedDeviceコマンドレットを使います。
■ ■ ■
今回紹介したコマンドレット以外にも、たくさんの操作が可能なので、ぜひ色々と試してみてください。