Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,594 changes: 2,594 additions & 0 deletions Private/Invoke-OSDCloudAzure.ps1

Large diffs are not rendered by default.

2,594 changes: 2,594 additions & 0 deletions Private/Invoke-OSDCloudCLI.ps1

Large diffs are not rendered by default.

2,594 changes: 2,594 additions & 0 deletions Private/Invoke-OSDCloudGUI.ps1

Large diffs are not rendered by default.

2,594 changes: 2,594 additions & 0 deletions Private/Invoke-OSDCloudGUIDev.ps1

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions Projects/OSDCloudDev/MainWindow.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -1036,15 +1036,15 @@ $formMainWindowControlStartButton.add_Click({
}
#>
#=================================================
# Invoke-OSDCloud.ps1
# Invoke-OSDCloudGUIDev.ps1
#=================================================
Write-Host -ForegroundColor DarkGray "========================================================================="
Write-Host -ForegroundColor Green "Invoke-OSDCloud Configuration"
Write-Host -ForegroundColor Green "Invoke-OSDCloudGUIDev Configuration"
$Global:InvokeOSDCloud | Out-Host
Write-Host -ForegroundColor DarkGray "========================================================================="
Write-Host -ForegroundColor Green "Invoke-OSDCloud ... Starting in 5 seconds..."
Write-Host -ForegroundColor Green "Invoke-OSDCloudGUIDev ... Starting in 5 seconds..."
Start-Sleep -Seconds 5
Invoke-OSDCloud
Invoke-OSDCloudGUIDev
#=================================================
})
#================================================
Expand Down
8 changes: 4 additions & 4 deletions Projects/OSDCloudGUI/MainWindow.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -855,15 +855,15 @@ $formMainWindowControlStartButton.add_Click({
}
#>
#=================================================
# Invoke-OSDCloud.ps1
# Invoke-OSDCloudGUI.ps1
#=================================================
Write-Host -ForegroundColor DarkGray "========================================================================="
Write-Host -ForegroundColor Green "Invoke-OSDCloud Configuration"
Write-Host -ForegroundColor Green "Invoke-OSDCloudGUI Configuration"
$Global:InvokeOSDCloud | Out-Host
Write-Host -ForegroundColor DarkGray "========================================================================="
Write-Host -ForegroundColor Green "Invoke-OSDCloud ... Starting in 5 seconds..."
Write-Host -ForegroundColor Green "Invoke-OSDCloudGUI ... Starting in 5 seconds..."
Start-Sleep -Seconds 5
Invoke-OSDCloud
Invoke-OSDCloudGUI
#=================================================
})
#================================================
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,78 +203,3 @@ function Connect-OSDCloudAzure {
Write-Warning "Unable to get AzContext"
}
}
function Start-OSDCloudAzure {
<#
.SYNOPSIS
Start an OSDCloud deployment from Azure Storage.

.DESCRIPTION
Runs from WinPE, installs the OSDCloudAzure dependencies, connects to Azure, discovers
available OSDCloud resources, and starts the deployment workflow when an image is available.

.PARAMETER Force
Reset OSDCloudAzure state before continuing.

.EXAMPLE
Start-OSDCloudAzure
Starts an Azure-backed OSDCloud deployment using the current selection.

.EXAMPLE
Start-OSDCloudAzure -Force
Resets the current Azure image selection and restarts the deployment flow.

.NOTES
Author: David Segura - Recast Software
2026-07-10 - Updated help to repo standard

.LINK
https://github.com/OSDeploy/OSD/tree/master/docs

.LINK
https://github.com/OSDeploy/OSD/blob/master/docs/Start-OSDCloudAzure.md
#>

[CmdletBinding()]
param (
[System.Management.Automation.SwitchParameter]
#Resets everything to initial settings
$Force
)
if ($env:SystemDrive -eq 'X:') {
if ($Force) {
$Force = $false
$Global:AzOSDCloudBlobImage = $null
}

$Transcript = "$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Start-OSDCloudAzure.log"
$null = Start-Transcript -Path (Join-Path "$env:SystemRoot\Temp" $Transcript) -ErrorAction Ignore
Invoke-Expression -Command (Invoke-RestMethod -Uri functions.osdcloud.com)
osdcloud-StartWinPE -OSDCloud
Connect-OSDCloudAzure
Get-OSDCloudAzureResources
$null = Stop-Transcript -ErrorAction Ignore

if ($Global:AzOSDCloudBlobImage) {
Write-Host -ForegroundColor DarkGray '========================================================================='
Write-Host -ForegroundColor Green 'Start-OSDCloudAzure'
& "$($MyInvocation.MyCommand.Module.ModuleBase)\Projects\OSDCloudAzure\MainWindow.ps1"
Start-Sleep -Seconds 2

if ($Global:StartOSDCloud.AzOSDCloudImage) {
Write-Host -ForegroundColor DarkGray '========================================================================='
Write-Host -ForegroundColor Green "Invoke-OSDCloud ... Starting in 5 seconds..."
Start-Sleep -Seconds 5
Invoke-OSDCloud
}
else {
Write-Warning "Unable to get a Windows Image from OSDCloudAzure to handoff to Invoke-OSDCloud"
}
}
else {
Write-Warning 'Unable to find resources to OSDCloudAzure'
}
}
else {
Write-Warning "OSDCloudAzure must be run from WinPE"
}
}
75 changes: 75 additions & 0 deletions Public/Start-OSDCloudAzure.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
function Start-OSDCloudAzure {
<#
.SYNOPSIS
Start an OSDCloud deployment from Azure Storage.

.DESCRIPTION
Runs from WinPE, installs the OSDCloudAzure dependencies, connects to Azure, discovers
available OSDCloud resources, and starts the deployment workflow when an image is available.

.PARAMETER Force
Reset OSDCloudAzure state before continuing.

.EXAMPLE
Start-OSDCloudAzure
Starts an Azure-backed OSDCloud deployment using the current selection.

.EXAMPLE
Start-OSDCloudAzure -Force
Resets the current Azure image selection and restarts the deployment flow.

.NOTES
Author: David Segura - Recast Software
2026-07-10 - Updated help to repo standard

.LINK
https://github.com/OSDeploy/OSD/tree/master/docs

.LINK
https://github.com/OSDeploy/OSD/blob/master/docs/Start-OSDCloudAzure.md
Comment on lines +21 to +29
#>

[CmdletBinding()]
param (
[System.Management.Automation.SwitchParameter]
#Resets everything to initial settings
$Force
)
if ($env:SystemDrive -eq 'X:') {
if ($Force) {
$Force = $false
$Global:AzOSDCloudBlobImage = $null
}

$Transcript = "$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Start-OSDCloudAzure.log"
$null = Start-Transcript -Path (Join-Path "$env:SystemRoot\Temp" $Transcript) -ErrorAction Ignore
Invoke-Expression -Command (Invoke-RestMethod -Uri functions.osdcloud.com)
osdcloud-StartWinPE -OSDCloud
Connect-OSDCloudAzure
Get-OSDCloudAzureResources
$null = Stop-Transcript -ErrorAction Ignore

if ($Global:AzOSDCloudBlobImage) {
Write-Host -ForegroundColor DarkGray '========================================================================='
Write-Host -ForegroundColor Green 'Start-OSDCloudAzure'
& "$($MyInvocation.MyCommand.Module.ModuleBase)\Projects\OSDCloudAzure\MainWindow.ps1"
Start-Sleep -Seconds 2

if ($Global:StartOSDCloud.AzOSDCloudImage) {
Write-Host -ForegroundColor DarkGray '========================================================================='
Write-Host -ForegroundColor Green "Invoke-OSDCloudAzure ... Starting in 5 seconds..."
Start-Sleep -Seconds 5
Invoke-OSDCloudAzure
}
else {
Write-Warning "Unable to get a Windows Image from OSDCloudAzure to handoff to Invoke-OSDCloudAzure"
}
Comment on lines +58 to +66
}
else {
Write-Warning 'Unable to find resources to OSDCloudAzure'
}
}
else {
Write-Warning "OSDCloudAzure must be run from WinPE"
}
}
12 changes: 6 additions & 6 deletions Public/Start-OSDCloudCLI.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,11 @@
[System.Management.Automation.SwitchParameter]
$Firmware = $Global:OSDModuleResource.StartOSDCloudGUI.updateFirmware,

#Restart the computer after Invoke-OSDCloud to OOBE
#Restart the computer after Invoke-OSDCloudCLI to OOBE
[System.Management.Automation.SwitchParameter]
$Restart,

#Shutdown the computer after Invoke-OSDCloud
#Shutdown the computer after Invoke-OSDCloudCLI
[System.Management.Automation.SwitchParameter]
$Shutdown,

Expand Down Expand Up @@ -712,7 +712,7 @@
Write-Host -ForegroundColor Yellow $Global:StartOSDCloudCLI.DriverPack.Url
}
#=================================================
# Invoke-OSDCloud
# Invoke-OSDCloudCLI
#=================================================
Write-Host -ForegroundColor DarkGray "========================================================================="
Write-Host -ForegroundColor Green "[$(Get-Date -format s)] Start-OSDCloudCLI Configuration"
Expand Down Expand Up @@ -762,9 +762,9 @@
catch {
}
#================================================
# Invoke-OSDCloud
# Invoke-OSDCloudCLI
#================================================
Write-Host -ForegroundColor Green "[$(Get-Date -format s)] Starting Invoke-OSDCloud in 5 seconds ..."
Write-Host -ForegroundColor Green "[$(Get-Date -format s)] Starting Invoke-OSDCloudCLI in 5 seconds ..."
Start-Sleep -Seconds 5
Invoke-OSDCloud
Invoke-OSDCloudCLI
}