iOS MDM:在设备上应用策略(限制)和Wifi配置

时间:2014-09-04 13:57:10

标签: java ios mdm

我已经完成了iOS MDM注册阶段以及针对DeviceInformation,DeviceLock等命令的APN推送。

现在我正试图通过设备推送策略(限制),wifi配置和密码。

所以目前在我的设备中我安装了一个配置文件,它是MDM管理配置文件。

通过这个Updating Configuration Profile installed in iOS device in MDM论坛,我们必须在需要应用策略时向设备发送InstallProfile命令。

但是当我这样做时,在我的个人资料部分的设置下 - >一般 - >配置文件,我看到安装了两个配置文件,一个是我的MDM有效负载,第二个是我发送的限制有效负载。

这就是我尝试发送Payload的方式

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Command</key>
        <dict>
            <key>RequestType</key>
            <string>InstallProfile</string>
            <key>Payload</key>
            <data>cGhfbWRtX2Jhc2VfNjRfZW5jb2RlZA==</data>
        </dict>
        <key>CommandUUID</key>
        <string>ph_mdm_command_uuid</string>
    </dict>
</plist>

此处Payload值包含用于配置文件的base64编码plist,这是我的配置文件配置,它是在Payload of InstallProfile请求类型中发送的。

<plist version="1.0">
<dict>
    <key>PayloadContent</key>
    <array>
        <dict>
            <key>PayloadDescription</key>
            <string></string>
            <key>PayloadDisplayName</key>
            <string>Restrictions</string>
            <key>PayloadIdentifier</key>
            <string>com.hQLvCF.mdm.version1.mdm3.restrictions1</string>
            <key>PayloadOrganization</key>
            <string></string>
            <key>PayloadType</key>
            <string>com.apple.applicationaccess</string>
            <key>PayloadUUID</key>
            <string>E9D5CFA9-4482-47DA-9CFA-5AA7AF4F62DC</string>
            <key>PayloadVersion</key>
            <integer>1</integer>
            <key>allowAddingGameCenterFriends</key>
            <true/>
            <key>allowAppInstallation</key>
            <true/>
            <key>allowAssistant</key>
            <true/>
            <key>allowAssistantWhileLocked</key>
            <true/>
            <key>allowBookstoreErotica</key>
            <true/>
            <key>allowCamera</key>
            <true/>
            <key>allowCloudBackup</key>
            <true/>
            <key>allowCloudDocumentSync</key>
            <true/>
            <key>allowDiagnosticSubmission</key>
            <true/>
            <key>allowExplicitContent</key>
            <true/>
            <key>allowGlobalBackgroundFetchWhenRoaming</key>
            <true/>
            <key>allowInAppPurchases</key>
            <true/>
            <key>allowMultiplayerGaming</key>
            <true/>
            <key>allowPassbookWhileLocked</key>
            <true/>
            <key>allowPhotoStream</key>
            <true/>
            <key>allowSafari</key>
            <true/>
            <key>allowScreenShot</key>
            <true/>
            <key>allowSharedStream</key>
            <true/>
            <key>allowUntrustedTLSPrompt</key>
            <true/>
            <key>allowVideoConferencing</key>
            <true/>
            <key>allowVoiceDialing</key>
            <true/>
            <key>allowYouTube</key>
            <true/>
            <key>allowiTunes</key>
            <true/>
            <key>forceEncryptedBackup</key>
            <false/>
            <key>forceITunesStorePasswordEntry</key>
            <false/>
            <key>ratingApps</key>
            <integer>1000</integer>
            <key>ratingMovies</key>
            <integer>1000</integer>
            <key>ratingRegion</key>
            <string>us</string>
            <key>ratingTVShows</key>
            <integer>1000</integer>
            <key>safariAcceptCookies</key>
            <integer>2</integer>
            <key>safariAllowAutoFill</key>
            <true/>
            <key>safariAllowJavaScript</key>
            <true/>
            <key>safariAllowPopups</key>
            <true/>
            <key>safariForceFraudWarning</key>
            <false/>
        </dict>
    </array>
    <key>PayloadDescription</key>
    <string>Push Policies</string>
    <key>PayloadDisplayName</key>
    <string>Policy Push</string>
    <key>PayloadIdentifier</key>
    <string>com.hQLvCF.mdm.version1.mdm3</string>
    <key>PayloadOrganization</key>
    <string></string>
    <key>PayloadRemovalDisallowed</key>
    <false/>
    <key>PayloadType</key>
    <string>Configuration</string>
    <key>PayloadUUID</key>
    <string>73D449F8-342F-4B53-9786-B888A0203349</string>
    <key>PayloadVersion</key>
    <integer>1</integer>
</dict>
</plist>

所以现在发生的事情是它在我的设备上显示这个新配置文件,其配置文件名称为“推送策略”。 与wi-fi简介类似。

我的问题是:

如何将此策略有效内容合并到MDM有效内容中,而不是创建/安装新的配置文件。

这个新的配置文件出现了,因为我发送了一个InstallProfile命令。我希望这个策略或wifi配置在mdm有效载荷内。

可以随时删除或添加策略和Wifi配置。因此,我们无法在注册设备时添加默认值。

我希望自己清楚明白。

感谢阅读。

2 个答案:

答案 0 :(得分:0)

你不应该做你所描述的。

通常的做法是安装其他配置文件。因此,您拥有基本的MDM配置文件,并且您有许多与其分离的其他配置文件。

基于MDM文档,良好的模式是同时拥有&#34; carrot&#34;并且&#34;坚持&#34;在配置文件中(例如,为您的网络设置复杂密码+ Wifi的要求)。但是,据我所知,很多公司都没有这样做。

答案 1 :(得分:0)

以上查询的解决方案: 首先在设备上安装完整的MDM配置文件,标识符为:

<key>PayloadIdentifier</key>
<string>com.myprofile.mdm.version1.mdm3</string>
<key>PayloadType</key>
<string>com.apple.mdm</string>

此有效内容包含此处未指定的其他详细信息。

要在设备上应用策略和wifi配置,将安装具有标识符的不同配置文件,如下所示:

<key>PayloadRemovalDisallowed</key>
<true/>
<key>PayloadIdentifier</key>
<string>com.myprofile.mdm.version1.mdm3.configuration</string>
<key>PayloadType</key>
<string>Configuration</string>

保持PayloadRemovalDisallowed为true,因为用户不应该删除此配置文件。

每当删除mdm个人资料时,系统会自动删除此个人资料,并删除所有政策。

当政策或wifi发生变化时,最新政策和wifi将被推送到设备上并进行安装。