Skip to content

Instantly share code, notes, and snippets.

#to Run, boot OSDCloudUSB, at the PS Prompt: iex (irm win11.garytown.com)
#region Initialization
function Write-DarkGrayDate {
[CmdletBinding()]
param (
[Parameter(Position = 0)]
[System.String]
$Message
)
# oobetasks.osdcloud.ch
$scriptFolderPath = "$env:SystemDrive\OSDCloud\Scripts"
$ScriptPathOOBE = $(Join-Path -Path $scriptFolderPath -ChildPath "OOBE.ps1")
$ScriptPathSendKeys = $(Join-Path -Path $scriptFolderPath -ChildPath "SendKeys.ps1")
If(!(Test-Path -Path $scriptFolderPath)) {
New-Item -Path $scriptFolderPath -ItemType Directory -Force | Out-Null
}
# tpm.osdcloud.ch
$Global:Transcript = "$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Test-Autopilotattestation.log"
Start-Transcript -Path (Join-Path "$env:ProgramData\Microsoft\IntuneManagementExtension\Logs\OSD\" $Global:Transcript) -ErrorAction Ignore
Write-Host "Execute Test Autopilot Attestation" -ForegroundColor Green
Set-ExecutionPolicy -ExecutionPolicy Bypass -Force
Install-Module -Name Autopilottestattestation -Force
Import-Module -Name Autopilottestattestation
Test-Autopilotattestation
function Manage-LenovoBIOSSettings {
<#
.DESCRIPTION
Automatically configure Lenovo BIOS settings
.PARAMETER GetSettings
Instruct the script to get a list of current BIOS settings
.PARAMETER SetSettings
Instruct the script to set BIOS settings
#write-output "Manage-HPBIOSSettings Script 24.1.3.3"
#Modified version of Jon's Script - https://www.configjon.com/hp-bios-settings-management/
function Manage-HPBiosSettings{<#
.DESCRIPTION
Automatically configure HP BIOS settings
SetBIOSSetting Return Codes
0 - Success
1 - Not Supported
2 - Unspecified Error
<#
.SYNOPSIS
Get BIOS Settings for Lenovo devices, based on custom definitions in script
.EXAMPLE
.\Lenovo_BIOS_Settings_Remediate.ps1
.DESCRIPTION
Remediate custom BIOS settings for Lenovo devices
$Title = "Install EmbeddedProductKey"
$host.UI.RawUI.WindowTitle = $Title
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
$env:APPDATA = "C:\Windows\System32\Config\SystemProfile\AppData\Roaming"
$env:LOCALAPPDATA = "C:\Windows\System32\Config\SystemProfile\AppData\Local"
$Env:PSModulePath = $env:PSModulePath + ";C:\Program Files\WindowsPowerShell\Scripts"
$env:Path = $env:Path + ";C:\Program Files\WindowsPowerShell\Scripts"
# cleanup.osdcloud.ch
$Global:Transcript = "$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Cleanup-Script.log"
Start-Transcript -Path (Join-Path "$env:ProgramData\Microsoft\IntuneManagementExtension\Logs\OSD\" $Global:Transcript) -ErrorAction Ignore
Write-Host "Execute OSD Cloud Cleanup Script" -ForegroundColor Green
# Copying the OOBEDeploy and AutopilotOOBE Logs
Get-ChildItem 'C:\Windows\Temp' -Filter *OOBE* | Copy-Item -Destination 'C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\OSD' -Force
# Copying OSDCloud Logs
# autopilotreg.osdcloud.ch
$Title = "Add device to Autopilot"
$host.UI.RawUI.WindowTitle = $Title
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
$env:APPDATA = "C:\Windows\System32\Config\SystemProfile\AppData\Roaming"
$env:LOCALAPPDATA = "C:\Windows\System32\Config\SystemProfile\AppData\Local"
$Env:PSModulePath = $env:PSModulePath+";C:\Program Files\WindowsPowerShell\Scripts"
$env:Path = $env:Path+";C:\Program Files\WindowsPowerShell\Scripts"
# check-autopilotprereq.osdcloud.ch
$Title = "Check Autopilot Prerequisites"
$host.UI.RawUI.WindowTitle = $Title
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
$env:APPDATA = "C:\Windows\System32\Config\SystemProfile\AppData\Roaming"
$env:LOCALAPPDATA = "C:\Windows\System32\Config\SystemProfile\AppData\Local"
$Env:PSModulePath = $env:PSModulePath+";C:\Program Files\WindowsPowerShell\Scripts"
$env:Path = $env:Path+";C:\Program Files\WindowsPowerShell\Scripts"