Skip to content

Instantly share code, notes, and snippets.

View aaronparker's full-sized avatar

Aaron Parker aaronparker

View GitHub Profile
<#
.SYNOPSIS
Installs the latest Microsoft Teams v2 per-machine for use on Windows 10/11 multi-session or Windows Server.
.DESCRIPTION
This script installs the latest version of Microsoft Teams v2 per-machine.
It downloads the Teams v2 Bootstrap installer and the Teams v2 MSIX installer from the specified URIs and installs them based on the operating system.
It also sets the required registry value for IsWVDEnvironment and optimizes Teams by disabling auto-update and installing the Teams meeting add-in.
.PARAMETER Path
@aaronparker
aaronparker / Install-WindowsTerminal.ps1
Last active November 11, 2023 23:47
Install Windows Terminal on Windows Server
Install-Module -Name "Evergreen"
$Path = "C:\Temp\Terminal"
New-Item -Path $Path -ItemType "Directory"
$App = @{
Version = "2.8.6"
URI = "https://globalcdn.nuget.org/packages/microsoft.ui.xaml.2.8.6.nupkg"
}
$OutFile = Save-EvergreenApp -InputObject $App -LiteralPath $Path
Rename-Item -Path $OutFile.FullName -NewName "microsoft.ui.xaml.zip"
$ZipFile = Get-ChildItem -Path $Path -Recurse -Include "microsoft.ui.xaml.zip"
@aaronparker
aaronparker / Import-GPO.ps1
Created May 1, 2023 14:06
Import GPO backups into a new domain
# Import Group Policy Objects
$Path = "C:\Temp"
$Destination = "C:\Temp\Prod-GPO"
Expand-Archive -Path "$Path\Prod-GPO-backup.zip" -DestinationPath $Path
$BackupList = Get-ChildItem -Path $Destination -Directory -Exclude "manifest.xml"
foreach ($item in $BackupList) {
[System.Xml.XmlDocument] $XmlFile = Get-Content -Path "$($item.FullName)\gpreport.xml" -ErrorAction "Stop"
$BackupID = $item.Name -replace "{|}", ""
$BackupID = $item.Name -replace "{", "" -replace "}", ""
$GpoName = "Test-$($XmlFile.GPO.Name)"
@aaronparker
aaronparker / Export-GPO.ps1
Created May 1, 2023 14:06
Export GPO objects from a lab/test domain and zip
<#
Export GPO objects from a lab/test domain and zip
#>
# Local path over RDP connection
$Destination = "C:\Backup"
# Create backups, zip file and copy to client path
$Path = "C:\Temp\Prod-GPO"
$Domain = "home.stealthpuppy.com"
@aaronparker
aaronparker / Install-MicrosoftFSLogixApps.ps1
Created February 8, 2023 04:20
Downloads and installs the latest version or a specific version of the Microsoft FSLogix Apps agent
#Requires -Modules Evergreen
<#
.SYNOPSIS
Installs the Microsoft FSLogix Apps agent
#>
[CmdletBinding()]
param (
[System.String] $Path = "$Env:SystemDrive\Apps\Microsoft\FSLogix",
[System.String] $Version
)
@aaronparker
aaronparker / text.xml
Created January 29, 2023 23:11
English translation from the NuPhy Console - `C:\Program Files (x86)\NuPhy Console\52\text.xml`
<?xml version="1.0" encoding="utf-16"?>
<root>
<config>
<tc_tipfordevcfg>Please set the switch to Windows</tc_tipfordevcfg>
<tc_config>Configuration</tc_config>
<tc_exit>Quit</tc_exit>
<tc_version>Driver version:</tc_version>
<tc_web></tc_web>
<tc_ok>OK</tc_ok>
<tc_restore>Reset</tc_restore>
@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 })) {
@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 / 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 / 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:
- '*'