Skip to content

Instantly share code, notes, and snippets.

View aaronparker's full-sized avatar

Aaron Parker aaronparker

View GitHub Profile
@aaronparker
aaronparker / Disable-AzureADUserPasswordExpiration.ps1
Last active February 9, 2019 10:45
Disable password expiration for an individual Azure AD account
# Install the Azure AD module and log into Azure AD
Install-Module AzureADPreview
Connect-AzureAD
# Get details of the specific account
$user = Get-AzureADUser -SearchString "user@domain.com"
# View password policy on the acccount
$user | Select-Object @{N = "PasswordNeverExpires"; E = {$_.PasswordPolicies -contains "DisablePasswordExpiration"}}
@aaronparker
aaronparker / install-istatserver.sh
Last active September 30, 2023 08:10
Installing iStat Server for Linux on raspbian
# https://bjango.com/help/istat3/linuxpackages/
# Commands used to install iStat Server for Linux on a Raspbery Pi running Raspbian
# Update Raspbian
# sudo apt-get update
# sudo apt-get upgrade
# Install dependencies
sudo apt-get install automake
sudo apt-get install libxml2-dev
@aaronparker
aaronparker / Expand-GzipArchive.ps1
Last active April 10, 2021 13:36
Expand a Gzip file with PowerShell
Function Expand-GzipArchive {
[CmdletBinding(SupportsShouldProcess = $False)]
param (
[Parameter(Mandatory = $True, Position = 0)]
[ValidateNotNullOrEmpty()]
[ValidateScript( { If (Test-Path -Path $_ -PathType "Leaf") { $True } Else { Throw "Cannot find path $_." } })]
[System.String] $Path,
[Parameter(Mandatory = $False, Position = 1)]
[ValidateNotNullOrEmpty()]
@aaronparker
aaronparker / AppControl.kql
Last active August 29, 2021 05:39
Defender for Endpoint application control events
// Defender for Endpoint query
DeviceEvents
| where Timestamp > ago(1d)
and ActionType startswith "AppControlExecutableAudited"
| where AccountName !has "system"
and AccountName !has "local service"
and AccountName !has "network service"
and AccountName !has "dwm-1"
| where FolderPath startswith "%OSDRIVE%"
//| order by Timestamp desc
@aaronparker
aaronparker / Invoke-UserFolderStats.ps1
Last active October 2, 2021 11:42
Collect Windows user folder status and OneDrive Known Folder move and post to Azure Monitor
<#
.SYNOPSIS
Get user folder sizes to determine impact on OneDrive Known Folder Move
#>
[CmdletBinding()]
Param (
[Parameter(Mandatory = $False)]
# Update with Log Analytics Workspace ID
[System.String] $CustomerId = "",
@aaronparker
aaronparker / UserFoldersStats.json
Created October 2, 2021 08:48
Azure Workbook to display metrics gathered by Invoke-UserFolderStats
{
"version": "Notebook/1.0",
"items": [
{
"type": 1,
"content": {
"json": "# OneDrive Known Folder Move\n\nUser folder inventory for planning implementation and tracking of [Known Folder Move](https://docs.microsoft.com/en-us/onedrive/redirect-known-folders) with OneDrive for Business.\n\nUser folder details are gathered via Endpoint Analytics Proactive Remediations with [**Invoke-UserFolderStats.ps1**](https://github.com/Insentra/mem-foundations/blob/main/device-reporting/scripts/Invoke-UserFolderStats.ps1) and forwarded to Log Analytics via the [Azure Monitor HTTP Data Collector API](https://docs.microsoft.com/en-us/azure/azure-monitor/logs/data-collector-api).\n",
"style": "info"
},
"name": "Intro"
@aaronparker
aaronparker / intune-backup.yml
Last active July 31, 2022 22:13
Backup an Intune tenant with IntuneCD
name: Backup Intune config
# Controls when the action will run.
on:
workflow_dispatch:
push:
paths:
- '.github/workflows/intune-backup.yml'
tags-ignore:
- '*'
@aaronparker
aaronparker / intune-release.yml
Last active July 31, 2022 22:13
Create a release for the Intune as-built
name: Create documentation release
on:
push:
tags:
- "v*.*.*"
jobs:
document-release:
runs-on: ubuntu-latest
@aaronparker
aaronparker / update-binaries.yml
Created April 10, 2022 01:14
Updates binaries required for packaging the Microsoft 365 Apps
# Updates binaries required for packaging the Microsoft 365 Apps
# setup.exe from the Office Deployment Tool
# PSAppDeployToolkit to manage the install
# Microsoft Win32 Content Prep Tool (IntuneWinAppUtil.exe) to package into intunewin format
name: update-binaries
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
on:
@aaronparker
aaronparker / Add-Administrator.ps1
Last active June 6, 2022 07:36
Adds the primary user of an Azure AD joined, Intune managed device to the local Administrators group
<#
Adds the primary user of the device to the local Administrators group
#>
[CmdletBinding()]
param()
function Get-Key {
try {
$EnrollmentsKey = "HKLM:\SOFTWARE\Microsoft\Enrollments\"
$MatchingKey = foreach ($Key in (Get-ChildItem -Path $EnrollmentsKey | Where-Object { $_.PSIsContainer -eq $true })) {