Git Product home page Git Product logo

windowsautopilotcompanion's Introduction

Windows Autopilot Companion

This repository contains a sample app that can be used to modify the settings of a device as part of a Windows Autopilot white glove process (introduced in Windows 10 1903). This demonstrates how to make just-in-time configuration adjustments, before pre-provisioning the device with needed apps and settings.

Capabilities

The app supports simple configuration adjustments:

  • Add, remove, or change the user assigned to the Windows Autopilot device.
  • Configure the group tag for the device.
  • Configure the device name (computer name) that should be assigned to the device when it is deployed.

This application leverages Xamarin in order to create a cross-platform app. This will run on Windows 10, Android, and iOS devices. For pre-built binaries, see the "Drops" folder. (These are provided as-is.)

Using

To use this sample app, you first need to authenticate to Microsoft Intune. This can be done in one of two ways:

  • If you are making changes to the Intune tenant associated with your Azure AD account, you can just click the "Logon" button to be prompted for your credentials.
  • If you are making changes to another tenant that you have been granted access to, either via the guest access process (described here) or via Partner Center, specify the tenant ID (e.g. contoso.onmicrosoft.com) before clicking "Logon".

Once connected, choose "Device Search" from the menu. Search for devices using the serial number of the device (all devices with serial numbers starting with the value specified will be returned). Or alternatively, click the "Scan QR Code" button to retrieve the device associated with that QR code (retrieved using the ZtdId value embedded in the QR code).

Building

The companion app can be built using Visual Studio 2017 or later, with the Xamarin components installed. For debugging, choose "Debug" and "x86" which should work for Windows 10 UWP and Android emulator testing. For use on a real device, use "Release" and "Any CPU" and perform these additional steps after the build completes:

  • For Windows 10, right click on the CompanionApp.UWP project and choose Store -> Create app packages. Complete the rest of the wizard.
  • For Android, right click on the CompanionApp.Android project and choose Archive. Create an archive, and then deploy that archive to create an APK that can be installed on an Android device. See this link for more information

If publishing the resulting packages to GitHub, create a new folder for the current date under the "Drops" folder, then create Windows and Android folders in that folder. Copy the *.appxbundle file into the Windows folder and the *.apk file into the Android folder.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

windowsautopilotcompanion's People

Contributors

manojjain16 avatar microsoft-github-policy-service[bot] avatar microsoftopensource avatar msftgits avatar mtniehaus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

windowsautopilotcompanion's Issues

iOS app

Can you put the app to the Apple App store so I can install?

Modern Auth Conditional Access Issues

The framework currently doesn’t leverage modern auth for authentication. For that reason the app can’t be used when enterprises have azure conditional access as the device details required (Hybrid Domain Joined, Compliant) are not gathered during the authentication process and results in denied access.

Also the App is not caching the user account details and doesn‘t leverage the Windows Account the User is signed in with. Each time the app is started, the authentication must be done again

Unable to search for users

When using the UWP app, or the Android app, im able to select choose a new user. However my user list is unsearchable, there is no search option, and im unable to scroll to the user needed since the list is too long.

Scan not possible Android

Neither in the old nor in the new Version a scan of the QR code is possible for both versions same behaviour. Use device BQ-X5 Android 7.1.1 and Huawei P30 Pro Android 10.

Certificate is expired

Wanted to try out this companion app, but the cert is expired. Could you please upload a new cert?

[iOS] No embeddedresource found for CompanionApp.App

When launching the app on iOS, the app crashes before it gets to the main page. Debugging it shows an Xamarin.Forms.Xaml.XamlParseException that there is no embeddedresource found for CompanionApp.App

Xamarin.Forms.Xaml.XamlParseException: No embeddedresource found for CompanionApp.App
  at Xamarin.Forms.Xaml.XamlLoader.Load (System.Object view, System.Type callingType) [0x00011] in D:\a\1\s\Xamarin.Forms.Xaml\XamlLoader.cs:68
  at Xamarin.Forms.Xaml.Extensions.LoadFromXaml[TXaml] (TXaml view, System.Type callingType) [0x00000] in <bcab8653423042a8bf947c219f26dde2>:0
  at CompanionApp.App.InitializeComponent () [0x00001] in /Users/ryan.morash/Developer/WindowsAutopilotCompanion/CA/CompanionApp/obj/Debug/netstandard2.0/App.xaml.g.cs:21
  at CompanionApp.App..ctor () [0x00008] in /Users/ryan.morash/Developer/WindowsAutopilotCompanion/CA/CompanionApp/App.xaml.cs:16
  at CompanionApp.iOS.AppDelegate.FinishedLaunching (UIKit.UIApplication app, Foundation.NSDictionary options) [0x00007] in /Users/ryan.morash/Developer/WindowsAutopilotCompanion/CA/CompanionApp.iOS/AppDelegate.cs:26
  at at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
  at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/UIKit/UIApplication.cs:79
  at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0002c] in /Library/Frameworks/Xamarin.iOS.framework/Versions/12.8.0.2/src/Xamarin.iOS/UIKit/UIApplication.cs:63
  at CompanionApp.iOS.Application.Main (System.String[] args) [0x00001] in /Users/ryan.morash/Developer/WindowsAutopilotCompanion/CA/CompanionApp.iOS/Main.cs:17

Update tenant permissions and App Name

After we can now build the app successfully, we've identified the app's name when authenticated to azure is "manojtestUWPApp1". Where in the project this can be modified to have another App Name when authenticated to Azure.

Also, we see the app asks for a lot of permissions at the tenant level, which are definitely not required for the operations inside the app (like Access user mailboxes etc.) it seems like it requests almost everything of available azure permissions. Could you kindly tighten the requested permission only to those really required? If you keep it as it is now, I'll get it never approved for production.

Cannot install Windows version

When I try to run the Install.ps1 file, I get a message that "The frameworks with name "Microsoft.NET.CoreRuntime.2.2" currently installed are: {}". I've tried manually installing multiple versions of Core runtime and SDK, with no luck. I also ran CompanionApp.UWP_2.0.17.0_x86_x64_arm_Debug.appxbundle by itself and receive a message "App Installer failed to install package dependencies. Ask the developer for Microsoft.VCLibs.140.00.Debug package."

Update App to support GroupTag and Rename Device

Is it possible to update the app in order to support GroupTag editing and rename device functions within the app?

I also wanted to ask, if there are any plans to have this app being provided officially by Microsoft to IT Admins? We usually don't have time updating/compiling the apps, but highly rely on those to perform our daily business. A officially supported and provided App solution from the vendor would be a great improvement and would help speed up the adoption of AutoPilot technologies in enterprises.

iOS Ressources missing

Hi Michael, sorry to disturb.
By trying to build the project I encountered two issues:

  1. AppIcon.appiconset is missing all the .png files requires for a successfull build/run. Only the json file reference is present.
  2. The LaunchScreen.storyboard is also missing on the repository.

Could you kindly provide the missing files?

iOS - app crashes on Logon

I'm on a Mac, trying to run the app on iOS. The app builds and runs as expected in the iOS Simulator but crashes on Logon. Throws the following:

System.AggregateException
One or more errors occurred. (Object reference not set to an instance of an object)

FYI - the login works as expected for me when running on an Android emulator.

Thanks,
Tim

App crash searching for devices

The apps (Andoid and Windows) are crashing and terminating itself after clicking on "Device Search". But this happens not with every device. I have only one physical device and its serial number starts with a "0". VMs with serial numbers starting with 1,2 etc were found as expected.

iOS Version

Hi, any plans to have a iOS version collection which can be build with a apple developer cert for inhouse distribution?

Pre-compiled Windows version includes an expired certificate

The certificate included in the pre-compiled windows build released 11-26-19 expired yesterday, 6-14-20. Attempting to install this package now results in the following error:

Error: The developer certificate "C:\temp\AutoPilot Companion\CompanionApp.UWP_2.0.16.0_x86_x64_arm.cer" has expired. One possible cause is the system clock isn't set to the correct date and time. If the system settings are correct, contact the app owner to re-create a package or bundle with a valid certificate.

QR Scan doesn‘t work

At least on iOS, the QR code scan functionality doesn’t work. As what I can discover, the required permission requests to access camera doesn’t work as they’re simply not implemented. This could be solved by adding the Permissions.Plugin from NuGet and modifying some of the code structure and Info.plist

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.