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

Several new features #23

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

Several new features #23

wants to merge 8 commits into from

Conversation

obuolinis
Copy link

Would love to contribute to this awesome project with several new features that I developed for my company needs:

  1. Got rid of MSGraphRequest module dependency. The only place where it's used is to query Win32 apps here, where it can be substituted with IntuneWin32App's Get-IntuneWin32App which does exactly the same:

    $Win32AppResources = Invoke-MSGraphOperation -Get -APIVersion "Beta" -Resource "deviceAppManagement/mobileApps?`$filter=isof('microsoft.graph.win32LobApp')"

  2. Certificate authentication to MS Graph, since Connect-MSIntuneGraph does support it.

  3. Full PSADT Deploy-Application.ps1 script creation automation. No need to pre-create it - just add respective command lines to App.json.
    @NickolajA your PSADT framework version is begging to be updated, I wasn't even able to add support for Repair cmd lines.

  4. Copying of PSADT SupportFiles folder from app source into the package.

  5. Add into the Intune app Notes for each new app: "Created by IntuneAppFactory on ###DATETIME###"

  6. Custom app icon file name (and file extension). Static name of Icon.png just wasn't good enough for me. Ideally file extension validation needs to be added as well.

  7. Custom setup file name. The latest improvement of making the setup file name dynamic didn't go well with me - I like the executable name to always be the same, therefore I reintroduced this possibility.

  8. I have also adapted Intune App Factory to run on Github, but it's a bit complicated to share since I just changed all Azure Devops references in the code to Github Actions. If you wanted to support both at the same time, then some kind of different approach would have to be applied. I'll probably just share my version of Github workflow separately.

@ChristianOe
Copy link

Hi @obuolinis, I really like your work. I've checked your removal of the MSGraphRequest dependency. I think it does not make that much sense because the IntuneWin32App module is based on the MSGraphRequest module. But on this point I had a great idea to improve the performance of the Test-Applist.ps1 script. For every app update check the whole applist is received. I have changed this point and on my environment I can process the checks from 3:30 minutes to 1:12 minutes. I will push this with a pull requests. Keep on working and sharing your improvments :-)

@obuolinis
Copy link
Author

I think it does not make that much sense because the IntuneWin32App module is based on the MSGraphRequest module.

Based - could be, depends on - no. And I insist that App Factory doesn't need MSGraphRequest as a dependency anymore, since IntuneWin32App itself has everything nowadays :) The latter uses Private Invoke-MSGraphOperation function as a basis for a number of Public functions, including Get-IntuneWin32App. So there's no benefit at all in sending Graph calls searching for Win32 apps using Invoke-MSGraphOperation of MSGraphRequest when you can do the same with IntuneWin32App's Get-IntuneWin32App, which 1) looks a bit nicer in the code, and 2) you get one dependency less.

Yes, there's a slight difference though :) Get-IntuneWin32App does one Graph call to get all Win32 apps and then an additional call for each app found (not really sure why, I didn't notice much difference except for the largeIcon and roleScopeTagIds properties, so it can be optimized for sure). If you're concerned about the total run time, then yeah, it adds up a bit. But if your App Factory solution is automated and runs fully autonomously, then why would you be?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants