記事検索

検索ワードを入力してください。
Sky Tech Blog
MDMの​仕組みを​紐解く​(Apple) ~②モバイル端末を​操る​MDMコマンド~

MDMの​仕組みを​紐解く​(Apple) ~②モバイル端末を​操る​MDMコマンド~

MDMコマンドについての説明です。MDMコマンドは、管理者がリモートでモバイル端末を管理するための命令で、設定変更やアプリのインストール、セキュリティポリシーの適用などを行うことができます。

こんにちは、皆さん!前回の記事では、MDM(モバイルデバイス管理)の基本的な概念についてお話ししました。

前回の​記事

今回は、MDMの中でも特に重要な役割を果たすMDMコマンドについて、その魔法のような力を紹介します。

MDMコマンドとは?

MDMコマンドは、管理者がリモートでモバイル端末を管理するために使用する命令のことです。
「MDM製品」から「モバイル端末」にMDMコマンドを送ることで、管理者は物理的にデバイスに触れることなく、設定変更やアプリのインストール、セキュリティポリシーの適用などを行うことができます。

MDMコマンドには様々なコマンドがあり、MDMコマンドを使用することで、まるで魔法のようにモバイル端末をリモートで自在に操作することができます!
次の章では、どのような魔法(MDMコマンド)があるのか、いくつか紹介します!

MDMコマンドの​種類

それでは、どのような魔法があるか見ていきましょう!
ここでは、いくつかのMDMコマンドの概要とコマンド例を紹介します。
各MDMコマンドの詳細については、今後の記事で紹介します。
ちなみに、MDMコマンドに関するAppleの公式ドキュメントは以下のページにあります。

Commands and Queries | Apple Developer Documentation

1. デバイス情報の​取得

管理者がデバイスの状態を把握するために使用するコマンドです。
これにより、デバイスのシリアル番号、OSバージョン、インストールされているアプリなどの情報を取得できます。

用途 :デバイスの管理状況を確認し、必要なメンテナンスやサポートを行うため。

■ コマンド例[1]

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Command</key>
    <dict>
        <key>Queries</key>
        <array>
            <string>UDID</string>
            <string>Languages</string>
            <string>Locales</string>
            <string>DeviceID</string>
            <string>OrganizationInfo</string>
            <string>LastCloudBackupDate</string>
            <string>AwaitingConfiguration</string>
            <string>MDMOptions</string>
            <string>iTunesStoreAccountIsActive</string>
            <string>iTunesStoreAccountHash</string>
            <string>DeviceName</string>
            <string>OSVersion</string>
            <string>BuildVersion</string>
            <string>ModelName</string>
            <string>Model</string>
            <string>ProductName</string>
            <string>SerialNumber</string>
            <string>DeviceCapacity</string>
            <string>AvailableDeviceCapacity</string>
            <string>BatteryLevel</string>
            <string>CellularTechnology</string>
            <string>ICCID</string>
            <string>BluetoothMAC</string>
            <string>WiFiMAC</string>
            <string>EthernetMACs</string>
            <string>CurrentCarrierNetwork</string>
            <string>SubscriberCarrierNetwork</string>
            <string>CurrentMCC</string>
            <string>CurrentMNC</string>
            <string>SubscriberMCC</string>
            <string>SubscriberMNC</string>
            <string>SIMMCC</string>
            <string>SIMMNC</string>
            <string>SIMCarrierNetwork</string>
            <string>CarrierSettingsVersion</string>
            <string>PhoneNumber</string>
            <string>DataRoamingEnabled</string>
            <string>VoiceRoamingEnabled</string>
            <string>PersonalHotspotEnabled</string>
            <string>IsRoaming</string>
            <string>IMEI</string>
            <string>MEID</string>
            <string>ModemFirmwareVersion</string>
            <string>IsSupervised</string>
            <string>IsDeviceLocatorServiceEnabled</string>
            <string>IsActivationLockEnabled</string>
            <string>IsDoNotDisturbInEffect</string>
            <string>EASDeviceIdentifier</string>
            <string>IsCloudBackupEnabled</string>
            <string>OSUpdateSettings</string>
            <string>LocalHostName</string>
            <string>HostName</string>
            <string>CatalogURL</string>
            <string>IsDefaultCatalog</string>
            <string>PreviousScanDate</string>
            <string>PreviousScanResult</string>
            <string>PerformPeriodicCheck</string>
            <string>AutomaticCheckEnabled</string>
            <string>BackgroundDownloadEnabled</string>
            <string>AutomaticAppInstallationEnabled</string>
            <string>AutomaticOSInstallationEnabled</string>
            <string>AutomaticSecurityUpdatesEnabled</string>
            <string>OSUpdateSettings</string>
            <string>LocalHostName</string>
            <string>HostName</string>
            <string>IsMultiUser</string>
            <string>IsMDMLostModeEnabled</string>
            <string>MaximumResidentUsers</string>
            <string>PushToken</string>
            <string>DiagnosticSubmissionEnabled</string>
            <string>AppAnalyticsEnabled</string>
            <string>IsNetworkTethered</string>
            <string>ServiceSubscriptions</string>
        </array>
        <key>RequestType</key>
        <string>DeviceInformation</string>
    </dict>
    <key>CommandUUID</key>
    <string>0001_DeviceInformation</string>
</dict>
</plist>

上記のコマンドに対するモバイル端末からのレスポンス

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CommandUUID</key>
    <string>0001_DeviceInformation</string>
    <key>QueryResponses</key>
    <dict>
        <key>AppAnalyticsEnabled</key>
        <true/>
        <key>AvailableDeviceCapacity</key>
        <real>225.2413330078125</real>
        <key>AwaitingConfiguration</key>
        <false/>
        <key>BatteryLevel</key>
        <real>1.0</real>
        <key>BluetoothMAC</key>
        <string>58:fe:f7:70:9d:9e</string>
        <key>BuildVersion</key>
        <string>17A576</string>
        <key>CarrierSettingsVersion</key>
        <string>38.0</string>
        <key>CellularTechnology</key>
        <integer>3</integer>
        <key>CurrentMCC</key>
        <string>311</string>
        <key>CurrentMNC</key>
        <string>480</string>
        <key>DataRoamingEnabled</key>
        <false/>
        <key>DeviceCapacity</key>
        <real>230.26551818847656</real>
        <key>DeviceName</key>
        <string>iPhone</string>
        <key>DiagnosticSubmissionEnabled</key>
        <true/>
        <key>EASDeviceIdentifier</key>
        <string>V2UVOT7J157L7C1FLLSAABSOV4</string>
        <key>ICCID</key>
        <string>8901 0030 0000 0336 1196</string>
        <key>IMEI</key>
        <string>35 735005 003432 4</string>
        <key>IsActivationLockEnabled</key>
        <false/>
        <key>IsCloudBackupEnabled</key>
        <false/>
        <key>IsDeviceLocatorServiceEnabled</key>
        <false/>
        <key>IsDoNotDisturbInEffect</key>
        <false/>
        <key>IsMDMLostModeEnabled</key>
        <false/>
        <key>IsMultiUser</key>
        <false/>
        <key>IsNetworkTethered</key>
        <false/>
        <key>IsRoaming</key>
        <false/>
        <key>IsSupervised</key>
        <true/>
        <key>MDMOptions</key>
        <dict>
        </dict>
        <key>MEID</key>
        <string>35745019114431</string>
        <key>Model</key>
        <string>993-31388LL</string>
        <key>ModelName</key>
        <string>iPhone</string>
        <key>ModemFirmwareVersion</key>
        <string>2.01.08</string>
        <key>OSVersion</key>
        <string>13.0</string>
        <key>PersonalHotspotEnabled</key>
        <false/>
        <key>PhoneNumber</key>
        <string></string>
        <key>ProductName</key>
        <string>iPhone11,8</string>
        <key>SerialNumber</key>
        <string>C7CX706CKWTK</string>
        <key>ServiceSubscriptions</key>
        <array>
            <dict>
                <key>CarrierSettingsVersion</key>
                <string>41.7.19</string>
                <key>CurrentCarrierNetwork</key>
                <string></string>
                <key>CurrentMCC</key>
                <string>310</string>
                <key>CurrentMNC</key>
                <string>260</string>
                <key>ICCID</key>
                <string>8901 0030 0000 0336 1196</string>
                <key>IMEI</key>
                <string>35 734009 035404 0</string>
                <key>IsDataPreferred</key>
                <true/>
                <key>IsRoaming</key>
                <false/>
                <key>IsVoicePreferred</key>
                <true/>
                <key>Label</key>
                <string>Primary</string>
                <key>LabelID</key>
                <string>EB91134A-B155-4DAB-9D35-CB2EAF82615D</string>
                <key>MEID</key>
                <string>35735009002431</string>
                <key>PhoneNumber</key>
                <string>+12018675309</string>
                <key>Slot</key>
                <string>CTSubscriptionSlotOne</string>
        </dict>
        <dict>
                <key>CarrierSettingsVersion</key>
                <string>41.7.46</string>
                <key>CurrentCarrierNetwork</key>
                <string>AT&amp;T</string>
                <key>CurrentMCC</key>
                <string>310</string>
                <key>CurrentMNC</key>
                <string>410</string>
                <key>EID</key>
                <string>89049032004008882600004821436874</string>
                <key>ICCID</key>
                <string>6905 4911 1205 0650 3488</string>
                <key>IMEI</key>
                <string>35 309418 464558 9</string>
                <key>IsDataPreferred</key>
                <false/>
                <key>IsRoaming</key>
                <false/>
                <key>IsVoicePreferred</key>
                <false/>
                <key>Label</key>
                <string>Secondary</string>
                <key>LabelID</key>
                <string>FDG4225C-L9OY-89BM-JF38-36JR4JOL76B3</string>
                <key>MEID</key>
                <string>35745008005631</string>
                <key>PhoneNumber</key>
                <string>+14152739164</string>
                <key>Slot</key>
                <string>CTSubscriptionSlotTwo</string>
            </dict>
        </array>
        <key>SubscriberCarrierNetwork</key>
        <string>ExampleCarrier</string>
        <key>SubscriberMCC</key>
        <string>001</string>
        <key>SubscriberMNC</key>
        <string>01</string>
        <key>UDID</key>
        <string>00008020-000915083C80012E</string>
        <key>VoiceRoamingEnabled</key>
        <false/>
        <key>WiFiMAC</key>
        <string>58:fe:f5:80:29:f3</string>
        <key>iTunesStoreAccountIsActive</key>
        <false/>
    </dict>
    <key>Status</key>
    <string>Acknowledged</string>
    <key>UDID</key>
    <string>00008020-000915083C80012E</string>
</dict>
</plist>

2. プロファイルの​インストール

セキュリティポリシーや設定をデバイスに適用するためのプロファイルをインストールするコマンドです。
これにより、Wi-Fi設定やVPN設定などを一括で適用できます。

用途 :企業のネットワーク設定やセキュリティポリシーを迅速に展開し、統一された環境を構築するため。

■ コマンド例[2]

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Command</key>
    <dict>
        <key>Payload</key>
        <data>
        PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBs
        aXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3
        dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+CjxwbGlzdCB2ZXJz
        aW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+UGF5bG9hZENvbnRlbnQ8L2tleT4KCTxhcnJh
        eT4KCQk8ZGljdD4KCQkJPGtleT5QYXlsb2FkRGVzY3JpcHRpb248L2tleT4KCQkJPHN0
        cmluZz5Db25maWd1cmVzIHJlc3RyaWN0aW9uczwvc3RyaW5nPgoJCQk8a2V5PlBheWxv
        YWREaXNwbGF5TmFtZTwva2V5PgoJCQk8c3RyaW5nPlJlc3RyaWN0aW9uczwvc3RyaW5n
        PgoJCQk8a2V5PlBheWxvYWRJZGVudGlmaWVyPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFw
        cGxlLmFwcGxpY2F0aW9uYWNjZXNzLkVENzE2QUU5LUFFODktNENFQy1BNzE3LUYyMTU2
        N0UwRjUxMjwvc3RyaW5nPgoJCQk8a2V5PlBheWxvYWRUeXBlPC9rZXk+CgkJCTxzdHJp
        bmc+Y29tLmFwcGxlLmFwcGxpY2F0aW9uYWNjZXNzPC9zdHJpbmc+CgkJCTxrZXk+UGF5
        bG9hZFVVSUQ8L2tleT4KCQkJPHN0dmluZz5FRDcxNkFFOS1BRTg5LTRDRUMtQTcxNy1G
        MjE1NjdFMEY1MTI8L3N0cmluZz4KCQkJPGtleT5QYXlsb2FtVmVyc2lvbjwva2V5PgoJ
        CQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQk8a2V5PmFsbG93TG9ja1NjcmVlblRvZGF5
        Vmlldzwva2V5PgoJCQk8ZmFsc2UvPgoJCQk8a2V5PnJhdGluZ1JlZ2lvbjwva2V5PgoJ
        CQk8c3RyaW5nPnVzPC9zdHJpbmc+CgkJPC9kaWN0PgoJPC9hcnJheT4KCTxrZXk+UGF5
        bG9hZERpc3BsYXlOYW1lPC9rZXk+Cgk8c3RyaW5nPihVKSBhbGxvd0xvY2tTY3JlZW5U
        b2RheVZpZXc8L3N0cmluZz4KCTxrZXk+UGF5bG9hZElkZW50aWZpZXI8L2tleT4KCTxz
        dHJpbmc+Y29tLmFwcGxlLmRtcy5yZXN0cmljdGlvbnMuYWxsb3dMb2NrU2NyZWVuVG9k
        YXlWaWV3PC9zdHJpbmc+Cgk8a2V5PlBheWxwYWRSZW1vdmFsRGlzYWxsb3dlZDwva2V5
        PgoJPGZhbHNlLz4KCTxrZXk+UGF5bG9hZFR5cGU8L2tleT4KCTxzdHJpbmc+Q29uZmln
        dXJhdGlvbjwvc3RyaW5nPgoJPGtleT5QYXlsb2FkVVVJRDwva2V5PgoJPHN0cmluZz42
        OUE0RTVGRS03NUQxLTQyOTctQkQzMi01NDA3MTBFRDYzNjA8L3N0cmluZz4KCTxrZXk+
        UGF5bG9hZFZlcnNpb248L2tleT4KCTxpbnRlZ2VyPjE8L2ludGVnZXI+CjwvZGljdD4K
        PC9wbGlzdD4K
        </data>
        <key>RequestType</key>
        <string>InstallProfile</string>
    </dict>
    <key>CommandUUID</key>
    <string>0001_InstallProfile</string>
</dict>
</plist>

上記のコマンドに対するモバイル端末からのレスポンス

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CommandUUID</key>
    <string>0001_InstallProfile</string>
    <key>Status</key>
    <string>Acknowledged</string>
    <key>UDID</key>
    <string>00008020-000915083C80012E</string>
</dict>
</plist>

3. アプリの​インストール

特定のアプリをデバイスにインストールするためのコマンドです。これにより、業務に必要なアプリを迅速に展開できます。

用途 :業務に必要なアプリケーションを迅速に配布し、業務効率を向上させるため。

■ コマンド例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>CommandUUID</key>
  <string>f4492def-9ae2-4bb3-a763-4f3e18278792</string>
  <key>Command</key>
  <dict>
    <key>RequestType</key>
    <string>InstallApplication</string>
    <key>Attributes</key>
    <dict>
      <key>Removable</key>
      <false />
    </dict>
    <key>Identifier</key>
    <string>net.skyseaclientview.mdm</string>
    <key>ChangeManagementState</key>
    <string>Managed</string>
    <key>InstallAsManaged</key>
    <true />
    <key>ManagementFlags</key>
    <integer>4</integer>
  </dict>
</dict>
</plist>

上記のコマンドに対するモバイル端末からのレスポンス

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CommandUUID</key>
    <string>f4492def-9ae2-4bb3-a763-4f3e18278792</string>
    <key>Identifier</key>
    <string>net.skyseaclientview.mdm</string>
    <key>State</key>
    <string>Installing</string>
    <key>Status</key>
    <string>Acknowledged</string>
    <key>UDID</key>
    <string>00008020-000915083C80012E</string>
</dict>
</plist>

4. デバイスの​ロック

紛失や盗難時にデバイスをリモートでロックするためのコマンドです。これにより、デバイスの不正使用を防止できます。

用途 :紛失や盗難時にデバイスのデータを保護し、不正アクセスを防止するため。

■ コマンド例[3]

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Command</key>
    <dict>
        <key>Message</key>
        <string>Lock Message</string>
        <key>PhoneNumber</key>
        <string>408-555-5555</string>
        <key>RequestType</key>
        <string>DeviceLock</string>
    </dict>
    <key>CommandUUID</key>
    <string>0001_DeviceLock</string>
</dict>
</plist>

上記のコマンドに対するモバイル端末からのレスポンス

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CommandUUID</key>
    <string>0001_DeviceLock</string>
    <key>MessageResult</key>
    <string>Success</string>
    <key>Status</key>
    <string>Acknowledged</string>
    <key>UDID</key>
    <string>00008020-000915083C80012E</string>
</dict>
</plist>

これらのコマンドを駆使することで、モバイル端末をまるで魔法のようにリモートで管理することが可能になります!

数多の​MDMコマンドを​操る​魔術師、​その​名も​「SKYSEA Client View」

弊社商品の「SKYSEA Client View」がオプションとして提供するMDM機能では、様々なMDMコマンドを駆使して、モバイル端末をリモートで管理することができます!

本記事で紹介したMDMコマンドに加えて、モバイル端末のOSアップデートをリモートで制御するなど、さらに多くの強力な機能を備えています。

モバイル端末を操る魔法使いを目指すあなた、「SKYSEA Client View」でその魔法の力を手に入れましょう。


  1. コマンド例は、次のAppleのWebページを引用しています。
    https://developer.apple.com/documentation/devicemanagement/device-information-command ↩︎

  2. コマンド例は、次のAppleのWebページを引用しています。
    https://developer.apple.com/documentation/devicemanagement/install-application-command ↩︎

  3. コマンド例は、次のAppleのWebページを引用しています。
    https://developer.apple.com/documentation/devicemanagement/device-lock-command ↩︎


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム