Skip to content

Commit

Permalink
Add descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
aaronparker committed Mar 14, 2024
1 parent 45cfdc7 commit 461010d
Show file tree
Hide file tree
Showing 41 changed files with 791 additions and 63 deletions.
19 changes: 18 additions & 1 deletion scripts/image/000_PrepImage.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,21 @@
#description: Preps a RDS / AVD image for customisation.
<#
.SYNOPSIS
Preps a RDS / AVD image for customization.
.DESCRIPTION
This script is used to prepare a RDS (Remote Desktop Services) or AVD (Azure Virtual Desktop) image
for customization. It performs the following tasks:
- Sets a policy to prevent Windows updates during deployment.
- Customizes the Start menu.
- Enables time zone redirection.
- Creates and compresses a logs directory.
.PARAMETER None
.EXAMPLE
.\000_PrepImage.ps1
#>

#execution mode: Combined
#tags: Image

Expand Down
18 changes: 17 additions & 1 deletion scripts/image/011_SupportFunctions.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
#description: Installs PowerShell modules required for building AVD images (Evergreen, VcRedist, PSWindowsUpdate, etc.)
<#
.SYNOPSIS
Installs PowerShell modules required for building AVD images (Evergreen, VcRedist, PSWindowsUpdate, etc.)
.DESCRIPTION
This script installs the necessary PowerShell modules for building AVD (Azure Virtual Desktop) images.
It ensures that the PSGallery is trusted, installs the required package providers,
and then installs the Evergreen, VcRedist, and PSWindowsUpdate modules if they are not already installed or if a newer version is available.
.PARAMETER None
This script does not accept any parameters.
.EXAMPLE
.\011_SupportFunctions.ps1
Runs the script to install the required PowerShell modules for building AVD images.
#>

#execution mode: Combined
#tags: Evergreen, VcRedist, Image

Expand Down
26 changes: 26 additions & 0 deletions scripts/image/012_WindowsUpdate.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
<#
.SYNOPSIS
Installs all available Windows updates with PSWindowsUpdate.
.DESCRIPTION
This script installs all available Windows updates using the PSWindowsUpdate module.
It first deletes the policy setting created by MDT and then proceeds to install the updates.
The script uses the Install-WindowsUpdate cmdlet with the necessary parameters to accept all updates,
include Microsoft updates, and ignore reboot requirements.
.PARAMETER None
.INPUTS
None. You cannot pipe objects to this script.
.OUTPUTS
The script outputs the Title and Size properties of the installed updates.
.EXAMPLE
.\012_WindowsUpdate.ps1
Installs all available Windows updates.
.NOTES
Requires the PSWindowsUpdate module to be installed.
#>

#description: Installs all available Windows updates with PSWindowsUpdate
#execution mode: IndividualWithRestart
#tags: Update, Image
Expand Down
22 changes: 22 additions & 0 deletions scripts/image/013_RegionLanguage.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
<#
.SYNOPSIS
Installs Windows language support and sets language/regional settings.
.DESCRIPTION
This script installs Windows language support and sets the language and regional settings on a Windows machine.
It also enables WinRM and PS Remoting to fix an issue with VM deployment using non en-US language packs.
.PARAMETER SecureVars
Use Secure variables in Nerdio Manager to pass a JSON file with the variables list.
.EXAMPLE
.\013_RegionLanguage.ps1
This example runs the script and installs the language pack and sets the regional settings based on the specified variables.
.NOTES
- This script requires the LanguagePackManagement module to be installed.
- The script enables the WinRM rule as a workaround for VM provisioning DSC failure with "Unable to check the status of the firewall".
- The script sets the locale, time zone, culture, system locale, UI language, user language list, and home location based on the specified language and time zone.
#>

#description: Installs Windows language support and sets language/regional settings. Note that this script enables WinRM and PS Remoting to fix an issue with VM deployment using non en-US language packs
#execution mode: Combined
#tags: Language, Image
Expand Down
14 changes: 14 additions & 0 deletions scripts/image/014_RolesFeatures.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
<#
.SYNOPSIS
Configures Windows roles, features, and capabilities by enabling or disabling Windows roles and features.
.DESCRIPTION
This script is used to configure Windows roles, features, and capabilities on different versions of Windows,
including Windows Server, Windows 11, and Windows 10. It enables or disables specific Windows roles and features based on the operating system version.
.PARAMETER None
.EXAMPLE
.\014_RolesFeatures.ps1
#>

#description: Configures Windows roles, features and capabilities. Enable/disable Windows roles and features
#execution mode: IndividualWithRestart
#tags: Roles, Features, Capabilities, Image
Expand Down
16 changes: 16 additions & 0 deletions scripts/image/015_Customise.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
<#
.SYNOPSIS
Installs Windows Customised Defaults to customize the image and the default profile.
.DESCRIPTION
This script installs Windows Customised Defaults to customize the image and the default profile.
It retrieves the necessary variables from Nerdio Manager or uses default values if no variables are provided. The script then downloads and extracts the installer,
and runs the Install-Defaults.ps1 script with the specified language, time zone, and Appx mode.
.PARAMETER Path
The path where the Windows Customised Defaults will be installed.
.EXAMPLE
.\015_Customise.ps1 -Path "C:\Apps\image-customise"
#>

#description: Installs Windows Customised Defaults to customise the image and the default profile https://stealthpuppy.com/image-customise/
#execution mode: Combined
#tags: Evergreen, Customisation, Language, Image
Expand Down
22 changes: 22 additions & 0 deletions scripts/image/100_MicrosoftVcRedists.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
<#
.SYNOPSIS
Installs the supported Microsoft Visual C++ Redistributables (2012, 2013, 2022).
.DESCRIPTION
This script installs the Microsoft Visual C++ Redistributables for the specified versions (2012, 2013, 2022).
It creates a directory to store the redistributable files and then proceeds to install them silently.
.PARAMETER Path
Specifies the path where the redistributable files will be stored. The default path is "$Env:SystemDrive\Apps\Microsoft\VcRedist".
.EXAMPLE
.\100_MicrosoftVcRedists.ps1 -Path "C:\Redist"
This example installs the Microsoft Visual C++ Redistributables in the "C:\Redist" directory.
.NOTES
- This script requires the "VcRedist" module to be installed.
- The script must be run with administrative privileges.
- The script supports the following versions of Microsoft Visual C++ Redistributables: 2012, 2013, 2022.
#>

#description: Installs the supported Microsoft Visual C++ Redistributables (2012, 2013, 2022)
#execution mode: Combined
#tags: VcRedist, Microsoft
Expand Down
23 changes: 22 additions & 1 deletion scripts/image/101_Avd-Agents.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,25 @@
#description: Installs the latest Microsoft Azure Virtual Desktop agents
<#
.SYNOPSIS
Installs the latest Microsoft Azure Virtual Desktop agents.
.DESCRIPTION
This script installs the Microsoft Azure Virtual Desktop agents,
including the Microsoft Remote Desktop WebRTC Redirector Service and the Microsoft Azure Virtual Desktop Multimedia Redirection Extensions.
.PARAMETER Path
The path where the agents will be installed. The default path is "$Env:SystemDrive\Apps\Microsoft\Avd".
.EXAMPLE
.\101_Avd-Agents.ps1
This example runs the script and installs the Microsoft Azure Virtual Desktop agents.
.NOTES
- Requires the "Evergreen" module.
- Requires administrative privileges.
- This script is intended for use in an Azure Virtual Desktop environment.
#>

#execution mode: Combined
#tags: Evergreen, Microsoft, AVD
#Requires -Modules Evergreen
Expand Down
23 changes: 21 additions & 2 deletions scripts/image/102_MicrosoftFSLogixApps.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,24 @@
#description: Installs the latest Microsoft FSLogix Apps agent and the FSLogix Apps Rules Editor
<#
.SYNOPSIS
Installs the latest Microsoft FSLogix Apps agent and the FSLogix Apps Rules Editor.
.DESCRIPTION
This script installs the latest version of the Microsoft FSLogix Apps agent and the FSLogix Apps Rules Editor.
It supports installing a specific version in case of any issues. The script downloads the agent from the specified URI,
unpacks it, and then installs it silently. It also removes any existing shortcuts to FSLogix Apps Online Help.
.PARAMETER Path
The path where the Microsoft FSLogix Apps agent will be downloaded. The default path is "$Env:SystemDrive\Apps\Microsoft\FSLogix".
.EXAMPLE
.\102_MicrosoftFSLogixApps.ps1 -Path "C:\Program Files\FSLogix"
.NOTES
- This script requires the Evergreen module to be installed.
- The script uses secure variables in Nerdio Manager to pass a JSON file with the variables list.
- The script requires an internet connection to download the Microsoft FSLogix Apps agent.
#>

#execution mode: Combined
#tags: Evergreen, Microsoft, FSLogix
#Requires -Modules Evergreen
Expand Down Expand Up @@ -41,7 +61,6 @@ $Versions = @"
"@
#endregion


#region Script logic
New-Item -Path $Path -ItemType "Directory" -Force -ErrorAction "SilentlyContinue" | Out-Null
New-Item -Path "$Env:ProgramData\Nerdio\Logs" -ItemType "Directory" -Force -ErrorAction "SilentlyContinue" | Out-Null
Expand Down
21 changes: 20 additions & 1 deletion scripts/image/103_MicrosoftNET.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,23 @@
#description: Installs the Microsoft .NET Desktop LTS and Current Runtimes
<#
.SYNOPSIS
Installs the Microsoft .NET Desktop LTS and Current Runtimes.
.DESCRIPTION
This script installs the Microsoft .NET Desktop LTS (Long-Term Support) and Current Runtimes.
It uses the Evergreen module to download the appropriate installer and installs it silently with the specified command-line arguments.
.PARAMETER Path
The path where the Microsoft .NET runtime will be downloaded. The default path is "$Env:SystemDrive\Apps\Microsoft\NET".
.EXAMPLE
.\103_MicrosoftNET.ps1
Installs the Microsoft .NET Desktop LTS and Current Runtimes using the default installation path.
.NOTES
- This script requires the Evergreen module to be installed.
- The script creates a log file at "$Env:ProgramData\Nerdio\Logs\Microsoft.NET.log" to capture installation logs.
#>

#execution mode: Combined
#tags: Evergreen, Microsoft, .NET
#Requires -Modules Evergreen
Expand Down
20 changes: 19 additions & 1 deletion scripts/image/104_MicrosoftEdge.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,22 @@
#description: Installs the latest Microsoft Edge and Microsoft Edge WebView2
<#
.SYNOPSIS
Installs the latest Microsoft Edge and Microsoft Edge WebView2.
.DESCRIPTION
This script installs the latest version of Microsoft Edge and Microsoft Edge WebView2.
It uses the Evergreen module to download and install the appropriate versions based on the specified criteria.
.PARAMETER Path
The path where Microsoft Edge will be downloaded.
.EXAMPLE
.\104_MicrosoftEdge.ps1 -Path "C:\Apps\Microsoft\Edge"
.NOTES
- Requires the Evergreen module.
- This script requires administrative privileges to install Microsoft Edge.
#>

#execution mode: Combined
#tags: Evergreen, Microsoft, Edge, WebView2
#Requires -Modules Evergreen
Expand Down
23 changes: 23 additions & 0 deletions scripts/image/200_MicrosoftOneDrive.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
<#
.SYNOPSIS
Installs the latest Microsoft OneDrive per-machine for use on Windows 10/11 multi-session or Windows Server.
.DESCRIPTION
This script installs the latest version of Microsoft OneDrive per-machine.
It uses the Evergreen module to retrieve the latest version of the OneDrive executable and installs it silently with the specified arguments.
The script also creates the necessary directories and logs for the installation.
.PARAMETER Path
The installation path for Microsoft OneDrive. The default path is "$Env:SystemDrive\Apps\Microsoft\OneDrive".
.EXAMPLE
.\200_MicrosoftOneDrive.ps1
This example runs the script and installs the latest version of Microsoft OneDrive per-machine.
.NOTES
- This script requires the Evergreen module to be installed.
- The script is designed to be run on Windows 10/11 multi-session or Windows Server.
- The script must be run with administrative privileges.
#>

#description: Installs the latest Microsoft OneDrive per-machine for use on Windows 10/11 multi-session or Windows Server
#execution mode: Combined
#tags: Evergreen, Microsoft, OneDrive, per-machine
Expand Down
Loading

0 comments on commit 461010d

Please sign in to comment.