Skip to content

Instantly share code, notes, and snippets.

@keithga
keithga / Win10.1709.Eval.Links.json
Last active July 25, 2023 06:15
List of Windows 10 1709 Enterprise Eval download links
@keithga
keithga / RDGGen.ps1
Created November 4, 2017 22:26
Remote Desktop Generator for Azure
<#
 .SYNOPSIS
Auto Generate a RDG file for Azure.
.DESCRIPTION
Will create a Microsoft Remote Desktop Connection Manager *.RDG file
from the Virtual Machines within your Azure Tenant.
.PARAMETER Path
Location of the target *.RDG file.
@keithga
keithga / SetupComplete.cmd
Created November 16, 2017 18:14
Modifications to SetupComplete.cmd to fix TS bug
@echo off
:: // ***************************************************************************
:: //
:: // Copyright (c) Microsoft Corporation. All rights reserved.
:: //
:: // Microsoft Deployment Toolkit Solution Accelerator
:: //
:: // File: SetupComplete.cmd
:: //
:: // Version: 6.3.8447.1000
@keithga
keithga / ZTISurface1TBBootDisk.wsf
Created November 21, 2017 05:08
Suface 1TB fix
<job id="ZTISurface1TBBootDisk">
<script language="VBScript" src="ZTIUtility.vbs"/>
<script language="VBScript" src="ZTIDiskUtility.vbs"/>
<script language="VBScript">
' // ***************************************************************************
' //
' // Copyright (c) Microsoft Corporation. All rights reserved.
' //
' // Microsoft Deployment Toolkit Solution Accelerator
@keithga
keithga / unattend.xml
Last active April 14, 2024 12:14
Unattend.xml file for bypassing OEM OOBE.
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Reseal>
<Mode>Audit</Mode>
</Reseal>
</component>
</settings>
@keithga
keithga / MYIT_OEMBypass.ps1
Last active September 22, 2022 17:09
IT OEM Bypass script
<#
Bypass file for OEM OOBE Setup.
Called from within Audit Mode.
#>
param(
[int] $TargetDisk = 0,
[string] $NewBootWim = "$PSScriptRoot\Generic_x64.wim",
[string] $UserName = 'MDTServer\MDTNonInteractive',
[string] $Password = 'UnSecurePassword1234',
@keithga
keithga / Unattend.xml
Created December 12, 2017 05:37
Silence is Golden
<!-- https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/settings-for-automating-oobe -->
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ComputerName>*</ComputerName>
</component>
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
@keithga
keithga / find-DiskHog.ps1
Last active July 10, 2022 03:46
Disk Hog Script
<#
.SYNOPSIS
Report on Disk Hogs
.DESCRIPTION
Returns a list of the largest directories in use on the local machine
.NOTES
Copyright Keith Garner, All rights reserved.
Really Updated for Windows 7 and Optimized for !!!SPEED!!!
.PARAMETER Path
Start of the search, usually c:\
@keithga
keithga / DeviceCollPerformance1
Created January 26, 2018 05:02
Add-CMDeviceCollectionDirectMembership Slow
<#
Example of how to create a Device Collection and populate it with computer objects
The Slow way. <Yuck>
#>
[cmdletbinding()]
param(
$CollBaseName = 'MyTestCol_03_{0:D4}',
@keithga
keithga / DeviceCollPerformance2
Created January 26, 2018 05:59
Replacement script for Add-CMDeviceCollectionDirectMembership
<#
Example of how to create a Device Collection and populate it with computer objects
The Faster way. <Yea!>
#>
[cmdletbinding()]
param(
$CollBaseName = 'MyTestCol_0C_{0:D4}',