Skip to content

Instantly share code, notes, and snippets.

View okieselbach's full-sized avatar

Oliver Kieselbach okieselbach

View GitHub Profile
@okieselbach
okieselbach / IntunePSTemplate.ps1
Last active November 1, 2024 04:06
Intune Management Extension PowerShell Template
<#
Version: 1.1
Author: Oliver Kieselbach
Script: IntunePSTemplate.ps1
Description:
Intune Management Extension - PowerShell script template with logging,
error codes, standard error output handling and x64 PowerShell execution.
Release notes:
<#
Version: 1.1
Author: Oliver Kieselbach
Script: Register-DOScript.ps1
Description:
Register a PS script as scheduled task to query DHCP for option 234 to get Group ID GUID
Release notes:
Version 1.0: Original published version.
<#
Version: 1.0
Author: Oliver Kieselbach
Script: Unregister-DOScript.ps1
Description:
Unregister the scheduled task and delete DO registry key
Release notes:
Version 1.0: Original published version.
<#
Version: 1.0
Author: Oliver Kieselbach
Runbook: Invoke-RetireDevice
Description:
Delete device from Intune via Intune API and AAD from a Azure Automation runbook.
Release notes:
Version 1.0: Original published version.
Version 1.1: Bugfix, escaped ' on delete request, thanks Sandy!
<#
Version: 1.0
Author: Oliver Kieselbach
Runbook: Import-AutoPilotInfo
Description:
Get AutoPilot device information from Azure Blob Storage and import device to Intune
AutoPilot service via Intune API running from a Azure Automation runbook.
Cleanup Blob Storage and send import notification to a Microsoft Teams channel.
<#
Version: 1.0
Author: Oliver Kieselbach
Script: Get-WindowsAutoPilotInfoAndUpload.ps1
Description:
Get the AutoPilot information and copy it to an Azure Blob Storage. Use existing AzCopy.exe and
Get-WindowsAutoPilotInfo.ps1 files or download them from an Azure Blob Storage named 'resources'.
If used with an MDT offline media the hash can be written to the offline media as well.
<#
Version: 1.0
Author: Oliver Kieselbach (oliverkieselbach.com)
Date: 15.12.2018
Description:
Install BGInfo64 with custom background scheme where hostname and logged on user incl. membership (Admin|User) is shown.
It is especially usefull when dealing with virtual test environments where different devices, users, and different
Autopilot profiles are used. It enhanced viability of hostname, username and available permissions of the user.
Dim WshShell, colItems, objItem, objGroup, objUser
Dim strUser, strAdministratorsGroup, bAdmin
bAdmin = False
On Error Resume Next
Set WshShell = CreateObject("WScript.Shell")
strUser = WshShell.ExpandEnvironmentStrings("%Username%")
winmgt = "winmgmts:{impersonationLevel=impersonate}!//"
Set colItems = GetObject(winmgt).ExecQuery("Select Name from Win32_Group where SID='S-1-5-32-544'",,48)
<#
Version: 1.0
Author: Oliver Kieselbach (oliverkieselbach.com)
Date: 15.12.2018
Description:
Uninstall BGInfo64. User has to switch background to the original one by his own.
Release notes:
Version 1.0: Original published version.
<#
Version: 1.0
Author: Oliver Kieselbach
Script: Get-DecryptInfoFromSideCarLogFiles.ps1
Description:
run as Admin on a device where you are AADJ and Intune enrolled to successfully decrypt
the log message containing decryption info for Intune Win32 apps (.intunewin)
Release notes: