Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to execute an Apple MDM RemoveApplication Command via fleet web ui #25077

Open
jspenc72 opened this issue Jan 1, 2025 · 2 comments
Labels
~apple-mdm-maturity Contributes to maturity in macOS, iOS, or iPadOS MDM product category. ~csa Issue was created by or deemed important by the Customer Solutions Architect. #g-mdm MDM product group :product Product Design department (shows up on 🦢 Drafting board)

Comments

@jspenc72
Copy link

jspenc72 commented Jan 1, 2025

Problem

I want to be able to remove applications installed to iOS and iPadOS hosts via apple mdm InstallApplication commands via the fleet web ui.

What have you tried?

I am able to successfully install and remove applications on macOS hosts without issue.

I am able to successfully install applications on iOS and iPadOS hosts via the web ui but unlike macOS hosts there is no option to uninstall them in the actions drop down.

I have been able to remove applications from iOS and iPadOS hosts via fleetctl mdm run-command with the following payload .

remove-app.xml

<?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_RemoveApplication</string>
          <key>Command</key>
               <dict>
                    <key>RequestType</key>
                    <string>RemoveApplication</string>
                    <key>Identifier</key>
                    <string>com.example.app</string>
               </dict>
     </dict>
</plist>
fleetctl mdm run-command --payload=remove-app.xml --hosts='Test iPad'

This results in removal of the specified application if it exists on the device and if it was installed as managed.

I have not found any implementation of Apple's MDM command RemoveApplication in the fleet source code.

Potential solutions

  1. Implement a RemoveApplication method in the apple_mdm.go and commander.go that dynamically populates the application identifier.
  2. Add the Uninstall option to the Actions dropdown on the software page of the fleet dashboard to allow users to remove an application from iOS and iPadOS hosts.

https://myexample.fleet.host.com/hosts/2/software?order_key=name&order_direction=asc&page=0&available_for_install=true

What is the expected workflow as a result of your proposal?

  1. Configure Apple Business Manager in the fleetdm settings ui
  2. Purchase application licenses in the Apple Business Manager portal
  3. Add the software to a team in fleetdm web ui.
  4. Select a Host and install the software
  5. NEW FEATURE: Select a Host with the managed application installed, open the Actions Drop Down, Click Uninstall

Should complement the workflow for MacOS and other OS's wherever possible.

@jspenc72 jspenc72 added the :product Product Design department (shows up on 🦢 Drafting board) label Jan 1, 2025
@jspenc72
Copy link
Author

jspenc72 commented Jan 1, 2025

WIP #25078

@iansltx iansltx added the #g-mdm MDM product group label Jan 1, 2025
@ddribeiro ddribeiro added ~csa Issue was created by or deemed important by the Customer Solutions Architect. ~apple-mdm-maturity Contributes to maturity in macOS, iOS, or iPadOS MDM product category. labels Jan 2, 2025
@iansltx
Copy link
Member

iansltx commented Jan 2, 2025

Looks like this is a subset/duplicate of #20729. Keeping this open for the time being since there's a PR attached.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
~apple-mdm-maturity Contributes to maturity in macOS, iOS, or iPadOS MDM product category. ~csa Issue was created by or deemed important by the Customer Solutions Architect. #g-mdm MDM product group :product Product Design department (shows up on 🦢 Drafting board)
Development

No branches or pull requests

3 participants