In a nutshell, OSDHelp is a PowerShell function (Get-OSDHelp) that opens a GitHub Repository in OSDPad. My goal is to populate this with PowerShell Scripts that can help you perform tasks, or learn a little PowerShell. Any script in OSDHelp can be edited and customized before you run it


To install and use OSDHelp, you need to first install the OSD PowerShell Module. Use the following commands in PowerShell (as Admin)
Install-Module OSD -Force
Import-Module OSD -Force
If you are in OOBE, you can do this from the Command Prompt using these commands. You will need to press Shift + F10 to open a Command Prompt first
Set-ExecutionPolicy RemoteSigned -Force
Install-Module OSD -Force
Import-Module OSD -Force


OSDHelp can be run using either of the following commands. It is strongly recommended that you always run OSDHelp in an Elevated PowerShell session as many of the scripts require Admin Rights
These commands are equivalent to the following OSDPad command line. In a nutshell, OSDHelp is really just a shortcut for OSDPad
OSDPad -RepoOwner OSDeploy -RepoName OSDHelp
Content in OSDHelp changes frequently to add or update scripts


OSDHelp scripts are organized in directories in the GitHub Repository. These directories are also known as a RepoFolder. If you run OSDHelp without specifying a RepoFolder, you are simply presented with a which serves as an Index so you know what RepoFolders are available
You can also look in the minimized PowerShell Console and see the GitHub Directories (RepoFolder)
Now that you know what RepoFolder you can use, simply close OSDHelp (OSDPad) and go back to PowerShell and give it a try
OSDHelp Autopilot

Script Dependencies

Scripts may require a Script or a Module install before executing. You can see how this is done in the following OSDHelp Script
#Requires -RunAsAdministrator
# Install Script
if (!(Get-Command Get-WindowsAutoPilotInfo -ErrorAction Ignore)) {
Install-Script Get-WindowsAutoPilotInfo -Force -Verbose
# Parameters
# [[-Name] <String[]>]
# [-OutputFile <String>]
# [-GroupTag <String>]
# [-AssignedUser <String>]
# [-Append]
# [-Credential <PSCredential>]
# [-Partner]
# [-Force]
# -Online
# [-TenantId <String>]
# [-AppId <String>]
# [-AppSecret <String>]
# [-AddToGroup <String>]
# [-AssignedComputerName <String>]
# [-Assign]
# [-Reboot]
& "$env:ProgramFiles\WindowsPowerShell\Scripts\Get-WindowsAutoPilotInfo.ps1"

Script Transcript Logging

Many of the scripts will save a Transcript. In most cases, these are saved in Windows Temp or User Temp. In the following script in particular, this is saved in C:\Temp so the Transcript can be retreived by a Standard User. This is by design
#Requires -RunAsAdministrator
# Initialize
$Title = 'EventMonitor_Autopilot'
$host.ui.RawUI.WindowTitle = $Title
$host.UI.RawUI.BufferSize = New-Object System.Management.Automation.Host.size(2000,2000)
# Temp
if (!(Test-Path "$env:SystemDrive\Temp")) {
New-Item -Path "$env:SystemDrive\Temp" -ItemType Directory -Force
# Transcript
$Transcript = "$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-$Title.log"
Start-Transcript -Path (Join-Path "$env:SystemDrive\Temp" $Transcript) -ErrorAction Ignore

GitHub Reposository

If you're insterested, here is the OSDHelp Script Repository on GitHub
Recast Software
OSDeploy is sponsored by Recast Software