From 461010d5bba83f05d860996015a4f236c7c98a1d Mon Sep 17 00:00:00 2001 From: Aaron Parker Date: Thu, 14 Mar 2024 11:20:57 +1100 Subject: [PATCH] Add descriptions --- scripts/image/000_PrepImage.ps1 | 19 +++- scripts/image/011_SupportFunctions.ps1 | 18 ++- scripts/image/012_WindowsUpdate.ps1 | 26 +++++ scripts/image/013_RegionLanguage.ps1 | 22 ++++ scripts/image/014_RolesFeatures.ps1 | 14 +++ scripts/image/015_Customise.ps1 | 16 +++ scripts/image/100_MicrosoftVcRedists.ps1 | 22 ++++ scripts/image/101_Avd-Agents.ps1 | 23 +++- scripts/image/102_MicrosoftFSLogixApps.ps1 | 23 +++- scripts/image/103_MicrosoftNET.ps1 | 21 +++- scripts/image/104_MicrosoftEdge.ps1 | 20 +++- scripts/image/200_MicrosoftOneDrive.ps1 | 23 ++++ scripts/image/201_MicrosoftTeams.ps1 | 106 ++++++++++-------- scripts/image/201_MicrosoftTeamsClassic.ps1 | 14 +++ scripts/image/202_Microsoft365Apps.ps1 | 19 ++++ scripts/image/210_MicrosoftPowerToys.ps1 | 15 +++ .../image/211_MicrosoftVisualStudioCode.ps1 | 17 ++- ...212_MicrosoftSQLServerManagementStudio.ps1 | 20 ++++ ...213_MicrosoftAzureVirtualDesktopClient.ps1 | 20 +++- scripts/image/214_MicrosoftAzureCLI.ps1 | 19 +++- scripts/image/215_MicrosoftPowerShell.ps1 | 22 +++- scripts/image/400_AdobeAcrobatReaderDC.ps1 | 21 ++++ scripts/image/401_FoxitPDFReader.ps1 | 21 ++++ scripts/image/402_ZoomMeetings.ps1 | 16 +++ scripts/image/403_GoogleChrome.ps1 | 17 +++ scripts/image/404_NotepadPlusPlus.ps1 | 19 +++- scripts/image/406_VLCMediaPlayer.ps1 | 19 ++++ scripts/image/407_7Zip.ps1 | 13 +++ scripts/image/408_RemoteDesktopAnalyzer.ps1 | 18 ++- scripts/image/409_CiscoWebEx.ps1 | 16 +++ scripts/image/410_ImageGlass.ps1 | 19 +++- scripts/image/411_draw.io.ps1 | 19 +++- scripts/image/412_MozillaFirefox.ps1 | 17 +++ scripts/image/413_Paint.NET.ps1 | 19 +++- scripts/image/414_Greenshot.ps1 | 23 ++++ scripts/image/415_FoxitPDFEditor.ps1 | 18 ++- scripts/image/417_CitrixWorkspaceApp.ps1 | 18 +++ scripts/image/420_1Password.ps1 | 14 +++ scripts/image/421_1PasswordCli.ps1 | 22 ++++ scripts/image/999_CleanupImage.ps1 | 19 ++++ scripts/tweaks/Set-WindowsUITweaks.ps1 | 7 ++ 41 files changed, 791 insertions(+), 63 deletions(-) create mode 100644 scripts/tweaks/Set-WindowsUITweaks.ps1 diff --git a/scripts/image/000_PrepImage.ps1 b/scripts/image/000_PrepImage.ps1 index 1eb6b7c..1c0e015 100644 --- a/scripts/image/000_PrepImage.ps1 +++ b/scripts/image/000_PrepImage.ps1 @@ -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 diff --git a/scripts/image/011_SupportFunctions.ps1 b/scripts/image/011_SupportFunctions.ps1 index 6f23352..251f758 100644 --- a/scripts/image/011_SupportFunctions.ps1 +++ b/scripts/image/011_SupportFunctions.ps1 @@ -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 diff --git a/scripts/image/012_WindowsUpdate.ps1 b/scripts/image/012_WindowsUpdate.ps1 index e2fc329..477d3ef 100644 --- a/scripts/image/012_WindowsUpdate.ps1 +++ b/scripts/image/012_WindowsUpdate.ps1 @@ -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 diff --git a/scripts/image/013_RegionLanguage.ps1 b/scripts/image/013_RegionLanguage.ps1 index 596a2c3..74989a7 100644 --- a/scripts/image/013_RegionLanguage.ps1 +++ b/scripts/image/013_RegionLanguage.ps1 @@ -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 diff --git a/scripts/image/014_RolesFeatures.ps1 b/scripts/image/014_RolesFeatures.ps1 index 13b4aec..1332cd7 100644 --- a/scripts/image/014_RolesFeatures.ps1 +++ b/scripts/image/014_RolesFeatures.ps1 @@ -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 diff --git a/scripts/image/015_Customise.ps1 b/scripts/image/015_Customise.ps1 index 52eca64..7026413 100644 --- a/scripts/image/015_Customise.ps1 +++ b/scripts/image/015_Customise.ps1 @@ -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 diff --git a/scripts/image/100_MicrosoftVcRedists.ps1 b/scripts/image/100_MicrosoftVcRedists.ps1 index cbc03e1..e508a9b 100644 --- a/scripts/image/100_MicrosoftVcRedists.ps1 +++ b/scripts/image/100_MicrosoftVcRedists.ps1 @@ -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 diff --git a/scripts/image/101_Avd-Agents.ps1 b/scripts/image/101_Avd-Agents.ps1 index 41e4730..fff3557 100644 --- a/scripts/image/101_Avd-Agents.ps1 +++ b/scripts/image/101_Avd-Agents.ps1 @@ -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 diff --git a/scripts/image/102_MicrosoftFSLogixApps.ps1 b/scripts/image/102_MicrosoftFSLogixApps.ps1 index 322dd7d..b20474f 100644 --- a/scripts/image/102_MicrosoftFSLogixApps.ps1 +++ b/scripts/image/102_MicrosoftFSLogixApps.ps1 @@ -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 @@ -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 diff --git a/scripts/image/103_MicrosoftNET.ps1 b/scripts/image/103_MicrosoftNET.ps1 index 582e070..d66ea7f 100644 --- a/scripts/image/103_MicrosoftNET.ps1 +++ b/scripts/image/103_MicrosoftNET.ps1 @@ -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 diff --git a/scripts/image/104_MicrosoftEdge.ps1 b/scripts/image/104_MicrosoftEdge.ps1 index d6d33b4..89352b2 100644 --- a/scripts/image/104_MicrosoftEdge.ps1 +++ b/scripts/image/104_MicrosoftEdge.ps1 @@ -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 diff --git a/scripts/image/200_MicrosoftOneDrive.ps1 b/scripts/image/200_MicrosoftOneDrive.ps1 index 7daa612..bc3e537 100644 --- a/scripts/image/200_MicrosoftOneDrive.ps1 +++ b/scripts/image/200_MicrosoftOneDrive.ps1 @@ -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 diff --git a/scripts/image/201_MicrosoftTeams.ps1 b/scripts/image/201_MicrosoftTeams.ps1 index dfee54e..c6e2880 100644 --- a/scripts/image/201_MicrosoftTeams.ps1 +++ b/scripts/image/201_MicrosoftTeams.ps1 @@ -1,4 +1,24 @@ -#description: Installs the latest Microsoft Teams v2 per-machine for use on Windows 10/11 multi-session or Windows Server +<# +.SYNOPSIS +Installs the latest Microsoft Teams v2 per-machine for use on Windows 10/11 multi-session or Windows Server. + +.DESCRIPTION +This script installs the latest version of Microsoft Teams v2 per-machine. +It downloads the Teams v2 Bootstrap installer and the Teams v2 MSIX installer from the specified URIs and installs them based on the operating system. +It also sets the required registry value for IsWVDEnvironment and optimizes Teams by disabling auto-update and installing the Teams meeting add-in. + +.PARAMETER Path +The path where Microsoft Teams will be downloaded. The default path is "$Env:SystemDrive\Apps\Microsoft\Teams". + +.EXAMPLE +Install-MicrosoftTeams -Path "C:\Program Files\Microsoft\Teams" + +.NOTES +- This script requires the Evergreen module. +- Secure variables can be used to pass a JSON file with the variables list. +- The script supports Windows 10/11 multi-session and Windows Server. +#> + #execution mode: Combined #tags: Evergreen, Microsoft, Teams, per-machine #Requires -Modules Evergreen @@ -29,58 +49,52 @@ else { 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 - # https://go.microsoft.com/fwlink/?linkid=2243204&clcid=0x409 - # https://statics.teams.cdn.office.net/production-teamsprovision/lkg/teamsbootstrapper.exe +# Download Teams v2 Bootstrap installer +$App = [PSCustomObject]@{ + Version = "2.0.0" + URI = "https://statics.teams.cdn.office.net/production-teamsprovision/lkg/teamsbootstrapper.exe" +} +$TeamsExe = Save-EvergreenApp -InputObject $App -CustomPath $Path -WarningAction "SilentlyContinue" - # https://go.microsoft.com/fwlink/?linkid=2196106 - # https://statics.teams.cdn.office.net/production-windows-x64/enterprise/webview2/lkg/MSTeams-x64.msix +# Download Teams v2 MSIX installer +$App = [PSCustomObject]@{ + Version = "2.0.0" + URI = "https://statics.teams.cdn.office.net/production-windows-x64/enterprise/webview2/lkg/MSTeams-x64.msix" +} +$TeamsMsi = Save-EvergreenApp -InputObject $App -CustomPath $Path -WarningAction "SilentlyContinue" - # Download Teams v2 Bootstrap installer - $App = [PSCustomObject]@{ - Version = "2.0.0" - URI = "https://statics.teams.cdn.office.net/production-teamsprovision/lkg/teamsbootstrapper.exe" - } - $TeamsExe = Save-EvergreenApp -InputObject $App -CustomPath $Path -WarningAction "SilentlyContinue" +# Set required IsWVDEnvironment registry value +reg add "HKLM\SOFTWARE\Microsoft\Teams" /v "IsWVDEnvironment" /d 1 /t "REG_DWORD" /f | Out-Null - # Download Teams v2 MSIX installer - $App = [PSCustomObject]@{ - Version = "2.0.0" - URI = "https://statics.teams.cdn.office.net/production-windows-x64/enterprise/webview2/lkg/MSTeams-x64.msix" - } - $TeamsMsi = Save-EvergreenApp -InputObject $App -CustomPath $Path -WarningAction "SilentlyContinue" - - # Set required IsWVDEnvironment registry value - reg add "HKLM\SOFTWARE\Microsoft\Teams" /v "IsWVDEnvironment" /d 1 /t "REG_DWORD" /f | Out-Null - - # Install Teams - Write-Information -MessageData ":: Install Microsoft Teams" -InformationAction "Continue" - switch -Regex ((Get-CimInstance -ClassName "CIM_OperatingSystem").Caption) { - "Microsoft Windows Server*" { - $params = @{ - FilePath = "$Env:SystemRoot\System32\dism.exe" - ArgumentList = "/Online /Add-ProvisionedAppxPackage /PackagePath:`"$($TeamsMsi.FullName)`" /SkipLicense" - NoNewWindow = $true - Wait = $true - PassThru = $true - ErrorAction = "Continue" - } - $result = Start-Process @params - Write-Information -MessageData ":: Install exit code: $($result.ExitCode)" -InformationAction "Continue" +# Install Teams +Write-Information -MessageData ":: Install Microsoft Teams" -InformationAction "Continue" +switch -Regex ((Get-CimInstance -ClassName "CIM_OperatingSystem").Caption) { + "Microsoft Windows Server*" { + $params = @{ + FilePath = "$Env:SystemRoot\System32\dism.exe" + ArgumentList = "/Online /Add-ProvisionedAppxPackage /PackagePath:`"$($TeamsMsi.FullName)`" /SkipLicense" + NoNewWindow = $true + Wait = $true + PassThru = $true + ErrorAction = "Continue" } + $result = Start-Process @params + Write-Information -MessageData ":: Install exit code: $($result.ExitCode)" -InformationAction "Continue" + } - "Microsoft Windows 11 Enterprise*|Microsoft Windows 11 Pro*|Microsoft Windows 10 Enterprise*|Microsoft Windows 10 Pro*" { - $params = @{ - FilePath = $TeamsExe.FullName - ArgumentList = "-p -o `"$($TeamsMsi.FullName)`"" - NoNewWindow = $true - Wait = $true - PassThru = $true - ErrorAction = "Continue" - } - $result = Start-Process @params - Write-Information -MessageData ":: Install exit code: $($result.ExitCode)" -InformationAction "Continue" + "Microsoft Windows 11 Enterprise*|Microsoft Windows 11 Pro*|Microsoft Windows 10 Enterprise*|Microsoft Windows 10 Pro*" { + $params = @{ + FilePath = $TeamsExe.FullName + ArgumentList = "-p -o `"$($TeamsMsi.FullName)`"" + NoNewWindow = $true + Wait = $true + PassThru = $true + ErrorAction = "Continue" } + $result = Start-Process @params + Write-Information -MessageData ":: Install exit code: $($result.ExitCode)" -InformationAction "Continue" } +} #endregion #region Optimise Teams diff --git a/scripts/image/201_MicrosoftTeamsClassic.ps1 b/scripts/image/201_MicrosoftTeamsClassic.ps1 index 07094f4..7cfa680 100644 --- a/scripts/image/201_MicrosoftTeamsClassic.ps1 +++ b/scripts/image/201_MicrosoftTeamsClassic.ps1 @@ -1,3 +1,17 @@ +<# +.SYNOPSIS +Installs the latest Microsoft Teams per-machine for use on Windows 10/11 multi-session or Windows Server. + +.DESCRIPTION +This script installs the latest version of Microsoft Teams per-machine. +It first checks if the Teams application is already installed and, if so, uninstalls it. +Then it downloads the latest version of Teams using the Evergreen module and installs it. +Finally, it optimizes Teams for multi-session without GPU support by deleting the registry auto-start and updating the default profile. + +.PARAMETER Path +The download path for Microsoft Teams. +#> + #description: Installs the latest Microsoft Teams per-machine for use on Windows 10/11 multi-session or Windows Server #execution mode: Combined #tags: Evergreen, Microsoft, Teams, per-machine diff --git a/scripts/image/202_Microsoft365Apps.ps1 b/scripts/image/202_Microsoft365Apps.ps1 index ab13c41..b0c38a6 100644 --- a/scripts/image/202_Microsoft365Apps.ps1 +++ b/scripts/image/202_Microsoft365Apps.ps1 @@ -1,3 +1,22 @@ +<# +.SYNOPSIS +Installs the latest Microsoft 365 Apps for Enterprise with specific configurations. + +.DESCRIPTION +This script installs the latest version of Microsoft 365 Apps for Enterprise with specific configurations. +It determines whether to install with shared computer licensing based on the operating system. +It also supports using secure variables in Nerdio Manager to pass a JSON file with the variables list for customization. + +.PARAMETER Path +Specifies the download path for Microsoft 365 Apps. The default path is "$Env:SystemDrive\Apps\Microsoft\Office". + +.NOTES +- This script requires the Evergreen module. +- This script requires administrative privileges to install Microsoft 365 Apps. +- This script supports Windows Server, Windows 10, and Windows 11 Enterprise multi-session. +- This script supports customization using a JSON file with secure variables in Nerdio Manager. +#> + #description: Installs the latest Microsoft 365 Apps for Enterprise, Current channel, 64-bit with shared computer licensing and updates disabled #execution mode: Combined #tags: Evergreen, Microsoft, Microsoft 365 Apps diff --git a/scripts/image/210_MicrosoftPowerToys.ps1 b/scripts/image/210_MicrosoftPowerToys.ps1 index 02c2f46..258b0f7 100644 --- a/scripts/image/210_MicrosoftPowerToys.ps1 +++ b/scripts/image/210_MicrosoftPowerToys.ps1 @@ -1,3 +1,18 @@ +<# +.SYNOPSIS +Installs the latest Microsoft PowerToys. + +.DESCRIPTION +This script installs the latest version of Microsoft PowerToys. It requires the Microsoft .NET Runtime. + +.PARAMETER Path +The download path for Microsoft PowerToys. The default path is "$Env:SystemDrive\Apps\Microsoft\PowerToys". + +.NOTES +- This script requires the "Evergreen" module to be installed. +- The script disables certain features of PowerToys that are not suitable for VDI environments. +#> + #description: Installs the latest Microsoft PowerToys. Requires the Microsoft .NET Runtime #execution mode: Combined #tags: Evergreen, Microsoft, PowerToys diff --git a/scripts/image/211_MicrosoftVisualStudioCode.ps1 b/scripts/image/211_MicrosoftVisualStudioCode.ps1 index 33b737c..a607471 100644 --- a/scripts/image/211_MicrosoftVisualStudioCode.ps1 +++ b/scripts/image/211_MicrosoftVisualStudioCode.ps1 @@ -1,4 +1,19 @@ -#description: Installs the latest Microsoft Visual Studio Code 64-bit +<# +.SYNOPSIS +Installs the latest Microsoft Visual Studio Code 64-bit. + +.DESCRIPTION +This script installs the latest version of Microsoft Visual Studio Code (64-bit) on a Windows machine. It uses the Evergreen module to retrieve the latest version of Visual Studio Code and installs it silently. + +.PARAMETER Path +The download path for Microsoft Visual Studio Code. The default path is "$Env:SystemDrive\Apps\Microsoft\VisualStudioCode". + +.NOTES +- This script requires the Evergreen module to be installed. +- The script creates a log file in "$Env:ProgramData\Nerdio\Logs" to track the installation progress. +- The script stops any running instances of Microsoft Visual Studio Code before installing the new version. +#> + #execution mode: Combined #tags: Evergreen, Microsoft, Visual Studio Code #Requires -Modules Evergreen diff --git a/scripts/image/212_MicrosoftSQLServerManagementStudio.ps1 b/scripts/image/212_MicrosoftSQLServerManagementStudio.ps1 index 553c414..5b675ff 100644 --- a/scripts/image/212_MicrosoftSQLServerManagementStudio.ps1 +++ b/scripts/image/212_MicrosoftSQLServerManagementStudio.ps1 @@ -1,3 +1,23 @@ +<# +.SYNOPSIS +Installs the latest Microsoft SQL Server Management Studio. + +.DESCRIPTION +This script installs the latest version of Microsoft SQL Server Management Studio (SSMS) on the local machine. +It utilizes the Evergreen module to download and install the specified version of SSMS. + +.PARAMETER Path +Specifies the download path for SSMS. The default path is "$Env:SystemDrive\Apps\Microsoft\Ssms". + +.NOTES +- This script requires the Evergreen module to be installed. +- The script creates a log file in "$Env:ProgramData\Nerdio\Logs" to track the installation progress. +- The script supports multiple languages, but it only installs the English version of SSMS. +- The installation is performed silently without any user interaction. +- The script checks if SSMS is already installed and skips the installation if it is. +- The exit code of the installation process is logged for reference. +#> + #description: Installs the latest Microsoft SQL Server Management Studio #execution mode: Combined #tags: Evergreen, Microsoft, SQL Server diff --git a/scripts/image/213_MicrosoftAzureVirtualDesktopClient.ps1 b/scripts/image/213_MicrosoftAzureVirtualDesktopClient.ps1 index 9c21ac4..2327e88 100644 --- a/scripts/image/213_MicrosoftAzureVirtualDesktopClient.ps1 +++ b/scripts/image/213_MicrosoftAzureVirtualDesktopClient.ps1 @@ -1,4 +1,22 @@ -#description: Installs the latest Microsoft Azure Virtual Desktop Remote Desktop client +<# +.SYNOPSIS +Installs the latest Microsoft Azure Virtual Desktop Remote Desktop client. + +.DESCRIPTION +This script installs the latest version of the Microsoft Azure Virtual Desktop Remote Desktop client. +It uses the Evergreen module to retrieve the appropriate version of the client and installs it silently. + +.PARAMETER Path +The path where the Microsoft Azure Virtual Desktop Remote Desktop client will be downloaded. +The default path is "$Env:SystemDrive\Apps\Microsoft\Avd". + +.NOTES +- This script requires the Evergreen module to be installed. +- The script creates a log file in "$Env:ProgramData\Nerdio\Logs" to track the installation progress. +- The script only installs the x64 version of the client from the "Public" channel. +- The installation is performed silently without creating a desktop shortcut. +#> + #execution mode: Combined #tags: Evergreen, Microsoft, Remote Desktop #Requires -Modules Evergreen diff --git a/scripts/image/214_MicrosoftAzureCLI.ps1 b/scripts/image/214_MicrosoftAzureCLI.ps1 index d21dbd8..8cd441f 100644 --- a/scripts/image/214_MicrosoftAzureCLI.ps1 +++ b/scripts/image/214_MicrosoftAzureCLI.ps1 @@ -1,4 +1,21 @@ -#description: Installs the latest Microsoft Azure CLI +<# +.SYNOPSIS +Installs the latest Microsoft Azure CLI. + +.DESCRIPTION +This script installs the latest version of Microsoft Azure CLI on the local machine. +It uses the Evergreen module to download and install the MSI package for Microsoft Azure CLI. +The installation is performed silently without any user interaction. + +.PARAMETER Path +Specifies the download path for Microsoft Azure CLI. The default path is "$Env:SystemDrive\Apps\Microsoft\AzureCli". + +.NOTES +- This script requires the Evergreen module to be installed. +- The script creates a log file in "$Env:ProgramData\Nerdio\Logs" directory to track the installation progress and any errors that occur during the installation. +- The script uses the Start-Process cmdlet to execute the MSI package installation silently. +#> + #execution mode: Combined #tags: Evergreen, Microsoft, Azure #Requires -Modules Evergreen diff --git a/scripts/image/215_MicrosoftPowerShell.ps1 b/scripts/image/215_MicrosoftPowerShell.ps1 index 32e3f76..9beba57 100644 --- a/scripts/image/215_MicrosoftPowerShell.ps1 +++ b/scripts/image/215_MicrosoftPowerShell.ps1 @@ -1,4 +1,24 @@ -#description: Installs the latest Microsoft PowerShell +<# +.SYNOPSIS +Installs the latest Microsoft PowerShell. + +.DESCRIPTION +This script installs the latest version of Microsoft PowerShell. It uses the Evergreen module to retrieve the latest stable release of PowerShell and installs it silently. The installation log is saved in the Nerdio Logs directory. + +.PARAMETER Path +The installation path for Microsoft PowerShell. The default path is "$Env:SystemDrive\Apps\Microsoft\PowerShell". + +.EXAMPLE +.\215_MicrosoftPowerShell.ps1 + +This example runs the script to install the latest Microsoft PowerShell. + +.NOTES +- Requires the Evergreen module. +- Only installs the x64 architecture of Microsoft PowerShell. +- The installation log is saved in "$Env:ProgramData\Nerdio\Logs". +#> + #execution mode: Combined #tags: Evergreen, Microsoft, PowerShell #Requires -Modules Evergreen diff --git a/scripts/image/400_AdobeAcrobatReaderDC.ps1 b/scripts/image/400_AdobeAcrobatReaderDC.ps1 index aeafded..76bf537 100644 --- a/scripts/image/400_AdobeAcrobatReaderDC.ps1 +++ b/scripts/image/400_AdobeAcrobatReaderDC.ps1 @@ -1,3 +1,24 @@ +<# +.SYNOPSIS +Installs the latest Adobe Acrobat Reader MUI 64-bit with automatic updates disabled and forces Reader into read-only mode. + +.DESCRIPTION +This script installs the latest version of Adobe Acrobat Reader MUI (64-bit) with automatic updates disabled. +It also enforces read-only mode for Reader. The script downloads the Reader installer, installs it with the specified options, +and configures the necessary registry settings to enforce read-only mode and disable the Adobe Updater. +It also disables the AdobeARMservice and the Adobe Acrobat Update Task scheduled task. +Finally, it removes the public desktop shortcut for Adobe Acrobat. + +.PARAMETER Path +The path where Adobe Acrobat Reader will be downloaded. The default path is "$Env:SystemDrive\Apps\Adobe\AcrobatReaderDC". + +.NOTES +- This script requires the Evergreen module to download the Reader installer. +- Secure variables can be used in Nerdio Manager to pass a JSON file with the variables list. +- For more information on enforcing settings with Group Policy Objects (GPO), refer to the Adobe Acrobat Enterprise Administration Guide. +- For more information on installing Adobe Acrobat Reader 64-bit for enterprises, refer to the Adobe Acrobat Enterprise Administration Guide. +#> + #description: Installs the latest Adobe Acrobat Reader MUI 64-bit with automatic updates disabled. Forces Reader into read-only mode #execution mode: Combined #tags: Evergreen, Adobe, Acrobat, PDF diff --git a/scripts/image/401_FoxitPDFReader.ps1 b/scripts/image/401_FoxitPDFReader.ps1 index 03cbb86..41332b8 100644 --- a/scripts/image/401_FoxitPDFReader.ps1 +++ b/scripts/image/401_FoxitPDFReader.ps1 @@ -1,3 +1,24 @@ +<# +.SYNOPSIS +Installs the latest Foxit PDF Reader with automatic updates disabled. + +.DESCRIPTION +This script installs the latest version of Foxit PDF Reader with automatic updates disabled. +It uses the Evergreen module to retrieve the appropriate version of Foxit PDF Reader based on the specified language. +The installation is performed silently and logs are generated for troubleshooting purposes. +Additionally, the script disables the update tasks assuming that the installation is being performed on a gold image or updates will be managed separately. + +.PARAMETER Path +The target folder where Foxit PDF Reader will be downloaded. The default value is "$Env:SystemDrive\Apps\Foxit\PDFReader". + +.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. If the secure variables are not available, the script defaults to the English language. +- The script requires TLS 1.2 to be enabled on the system. +- The script creates a log file in the "$Env:ProgramData\Nerdio\Logs" folder with the name "FoxitPDFReader.log". +- The script disables the "FoxitReaderUpdateService" service to prevent automatic updates. +#> + #description: Installs the latest Foxit PDF Reader with automatic updates disabled #execution mode: Combined #tags: Evergreen, Foxit, PDF diff --git a/scripts/image/402_ZoomMeetings.ps1 b/scripts/image/402_ZoomMeetings.ps1 index 37aca67..181daf8 100644 --- a/scripts/image/402_ZoomMeetings.ps1 +++ b/scripts/image/402_ZoomMeetings.ps1 @@ -1,3 +1,19 @@ +<# +.SYNOPSIS +Installs the latest Zoom Meetings VDI client. + +.DESCRIPTION +This script installs the latest Zoom Meetings VDI client by downloading it using the Evergreen module and installing it silently using msiexec.exe. + +.PARAMETER Path +The path where the Zoom Meetings VDI client will be downloaded. The default path is "$Env:SystemDrive\Apps\Zoom\Meetings". + +.NOTES +- This script requires the Evergreen module to be installed. +- The script creates a log file at "$Env:ProgramData\Nerdio\Logs\ZoomMeetings.log" to track the installation progress. +- The script uses the Start-Process cmdlet to execute msiexec.exe with the necessary arguments for silent installation. +#> + #description: Installs the latest Zoom Meetings VDI client #execution mode: Combined #tags: Evergreen, Zoom diff --git a/scripts/image/403_GoogleChrome.ps1 b/scripts/image/403_GoogleChrome.ps1 index e10d6ef..d2be212 100644 --- a/scripts/image/403_GoogleChrome.ps1 +++ b/scripts/image/403_GoogleChrome.ps1 @@ -1,3 +1,20 @@ +<# +.SYNOPSIS +Installs the latest Google Chrome 64-bit with automatic updates disabled. + +.DESCRIPTION +This script installs the latest version of Google Chrome 64-bit with automatic updates disabled. +It also configures various policies for roaming and cache. + +.PARAMETER Path +Specifies the download path for Google Chrome. The default path is "$Env:SystemDrive\Apps\Google\Chrome". + +.NOTES +- This script requires the "Evergreen" module. +- The script assumes that it is being run on a gold image or that updates will be managed separately. +- For more information on configuring Chrome browser in a VDI environment, refer to the following link: https://cloud.google.com/blog/products/chrome-enterprise/configuring-chrome-browser-in-your-vdi-environment +#> + #description: Installs the latest Google Chrome 64-bit with automatic updates disabled #execution mode: Combined #tags: Evergreen, Google, Chrome diff --git a/scripts/image/404_NotepadPlusPlus.ps1 b/scripts/image/404_NotepadPlusPlus.ps1 index b39e409..34c499a 100644 --- a/scripts/image/404_NotepadPlusPlus.ps1 +++ b/scripts/image/404_NotepadPlusPlus.ps1 @@ -1,4 +1,21 @@ -#description: Installs the latest Notepad++ 64-bit with automatic updates disabled. +<# +.SYNOPSIS +Installs the latest Notepad++ 64-bit with automatic updates disabled. + +.DESCRIPTION +This script installs the latest version of Notepad++ 64-bit on the local machine. It also disables the automatic update feature of Notepad++. + +.PARAMETER Path +Specifies the download path for Notepad++. The default path is "$Env:SystemDrive\Apps\NotepadPlusPlus". + +.NOTES +- This script requires the "Evergreen" module. +- The script will create a directory at the specified installation path if it does not already exist. +- The script will create a directory at "$Env:ProgramData\Nerdio\Logs" if it does not already exist. +- The script will download the latest version of Notepad++ from the Evergreen repository and install it silently. +- The script will disable the automatic update feature of Notepad++ by renaming the updater folder. +#> + #execution mode: Combined #tags: Evergreen, Notepad++ #Requires -Modules Evergreen diff --git a/scripts/image/406_VLCMediaPlayer.ps1 b/scripts/image/406_VLCMediaPlayer.ps1 index 915962a..de382ed 100644 --- a/scripts/image/406_VLCMediaPlayer.ps1 +++ b/scripts/image/406_VLCMediaPlayer.ps1 @@ -1,3 +1,22 @@ +<# +.SYNOPSIS +Installs the latest VLC media player 64-bit. + +.DESCRIPTION +This script installs the latest version of VLC media player (64-bit) on the system. +It utilizes the Evergreen module to download and install the MSI package of VLC media player. +The script also creates necessary directories and removes unnecessary shortcuts. + +.PARAMETER Path +The download path for VLC media player. The default path is "$Env:SystemDrive\Apps\VLC\MediaPlayer". + +.NOTES +- This script requires the Evergreen module to be installed. +- The script must be run with administrative privileges. +- The script is designed for 64-bit systems. +- The script may take a few seconds to complete the installation process. +#> + #description: Installs the latest VLC media player 64-bit #execution mode: Combined #tags: Evergreen, VLC diff --git a/scripts/image/407_7Zip.ps1 b/scripts/image/407_7Zip.ps1 index 6d408d9..79de4d5 100644 --- a/scripts/image/407_7Zip.ps1 +++ b/scripts/image/407_7Zip.ps1 @@ -1,3 +1,16 @@ +<# +.SYNOPSIS +Installs the latest 7-Zip ZS 64-bit. + +.DESCRIPTION +This script installs the latest version of 7-Zip ZS 64-bit. +It creates the necessary directories, imports the Evergreen module, downloads and installs the 7-Zip ZS application, +and adds registry entries for additional file types. + +.PARAMETER Path +The download path for 7-Zip ZS. +#> + #description: Installs the latest 7-Zip ZS 64-bit #execution mode: Combined #tags: Evergreen, 7-Zip diff --git a/scripts/image/408_RemoteDesktopAnalyzer.ps1 b/scripts/image/408_RemoteDesktopAnalyzer.ps1 index 2914625..e86e711 100644 --- a/scripts/image/408_RemoteDesktopAnalyzer.ps1 +++ b/scripts/image/408_RemoteDesktopAnalyzer.ps1 @@ -1,4 +1,20 @@ -#description: Downloads the Remote Display Analyzer and Connection Experience Indicator to 'C:\Program Files\RemoteDisplayAnalyzer' +<# +.SYNOPSIS +Downloads the Remote Display Analyzer and Connection Experience Indicator to 'C:\Program Files\RemoteDisplayAnalyzer'. + +.DESCRIPTION +This script downloads the Remote Display Analyzer and Connection Experience Indicator tools to the specified path. +It creates the necessary directories and imports the required module before downloading the tools. + +.PARAMETER Path +Specifies the path where the tools will be downloaded. The default path is 'C:\Program Files\RemoteDisplayAnalyzer'. + +.NOTES +- This script requires the "Evergreen" module to be installed. +- The script may require administrative privileges to create directories and download the tools. +- The script may display warnings if the tools are already installed or if there are any issues during the download process. +#> + #execution mode: Combined #tags: Evergreen, Remote Display Analyzer, Tools #Requires -Modules Evergreen diff --git a/scripts/image/409_CiscoWebEx.ps1 b/scripts/image/409_CiscoWebEx.ps1 index 0241ac8..89d84d1 100644 --- a/scripts/image/409_CiscoWebEx.ps1 +++ b/scripts/image/409_CiscoWebEx.ps1 @@ -1,3 +1,19 @@ +<# +.SYNOPSIS +Installs Cisco WebEx VDI client with automatic updates disabled. + +.DESCRIPTION +This script installs the Cisco WebEx VDI client with automatic updates disabled. The URL to the installer is hard-coded in this script. + +.PARAMETER Path +Specifies the download path for the Cisco WebEx VDI client. + +.NOTES +- This script requires the Evergreen module. +- The installer URL and version number are hard-coded in this script and may need to be updated in the future. +- This script creates a log file in the ProgramData\Nerdio\Logs directory. +#> + #description: Installs Cisco WebEx VDI client with automatic updates disabled. URL to the installer is hard coded in this script. #execution mode: Combined #tags: Evergreen, Cisco, WebEx diff --git a/scripts/image/410_ImageGlass.ps1 b/scripts/image/410_ImageGlass.ps1 index 7bbd13f..dd40c57 100644 --- a/scripts/image/410_ImageGlass.ps1 +++ b/scripts/image/410_ImageGlass.ps1 @@ -1,4 +1,21 @@ -#description: Installs the latest version of ImageGlass 64-bit +<# +.SYNOPSIS +Installs the latest version of ImageGlass 64-bit. + +.DESCRIPTION +This script installs the latest version of ImageGlass, a lightweight image viewer for Windows. +It uses the Evergreen module to download and install the ImageGlass MSI package. +The script creates the necessary directories and logs the installation process. It also removes any existing shortcuts related to ImageGlass. + +.PARAMETER Path +The download path for ImageGlass. The default value is "$Env:SystemDrive\Apps\ImageGlass". + +.NOTES +- This script requires the Evergreen module to be installed. +- This script is designed for 64-bit systems. +- This script requires administrative privileges to install ImageGlass. +#> + #execution mode: Combined #tags: Evergreen, ImageGlass #Requires -Modules Evergreen diff --git a/scripts/image/411_draw.io.ps1 b/scripts/image/411_draw.io.ps1 index 2bbcf21..ee31707 100644 --- a/scripts/image/411_draw.io.ps1 +++ b/scripts/image/411_draw.io.ps1 @@ -1,4 +1,21 @@ -#description: Installs the latest version of draw.io +<# +.SYNOPSIS +Installs the latest version of draw.io. + +.DESCRIPTION +This script installs the latest version of draw.io using the Evergreen module. +It creates a directory for draw.io, imports the Evergreen module, retrieves the latest version of the diagrams.net MSI package, +saves it to the draw.io directory, and then installs draw.io silently using msiexec.exe. + +.PARAMETER Path +The path where draw.io will be downloaded. The default path is "$Env:SystemDrive\Apps\draw.io". + +.NOTES +- This script requires the Evergreen module to be installed. +- The script will create a log file in "$Env:ProgramData\Nerdio\Logs" to track the installation progress. +- The script will remove the draw.io shortcut from the desktop after installation. +#> + #execution mode: Combined #tags: Evergreen, draw.io #Requires -Modules Evergreen diff --git a/scripts/image/412_MozillaFirefox.ps1 b/scripts/image/412_MozillaFirefox.ps1 index 0606741..544b4c6 100644 --- a/scripts/image/412_MozillaFirefox.ps1 +++ b/scripts/image/412_MozillaFirefox.ps1 @@ -1,3 +1,20 @@ +<# +.SYNOPSIS +Installs the latest version of Mozilla Firefox 64-bit with automatic update disabled. + +.DESCRIPTION +This script installs the latest version of Mozilla Firefox 64-bit with automatic update disabled. +It uses the Evergreen module to retrieve the appropriate version of Firefox based on the specified language and channel. + +.PARAMETER Path +The download path for Mozilla Firefox. + +.NOTES +- Requires the Evergreen module. +- Uses secure variables in Nerdio Manager to pass a JSON file with the variables list. +- Logs installation details to the Nerdio Logs directory. +#> + #description: Installs the latest version of Mozilla Firefox 64-bit with automatic update disabled #execution mode: Combined #tags: Evergreen, Mozilla, Firefox diff --git a/scripts/image/413_Paint.NET.ps1 b/scripts/image/413_Paint.NET.ps1 index a012767..553a7af 100644 --- a/scripts/image/413_Paint.NET.ps1 +++ b/scripts/image/413_Paint.NET.ps1 @@ -1,4 +1,21 @@ -#description: Installs the latest version of Paint.NET 64-bit with automatic update disabled +<# +.SYNOPSIS +Installs the latest version of Paint.NET 64-bit with automatic update disabled. + +.DESCRIPTION +This script installs the latest version of Paint.NET 64-bit with automatic update disabled. +It uses the Evergreen module to download the Paint.NET installer and extracts it to the specified path. +The script then installs Paint.NET silently using the extracted MSI file. +Finally, it removes the desktop shortcut for Paint.NET. + +.PARAMETER Path +The path where Paint.NET will be downloaded. The default value is "$Env:SystemDrive\Apps\Paint.NET". + +.NOTES +- This script requires the Evergreen module to be installed. +- The script must be run with administrative privileges. +#> + #execution mode: Combined #tags: Evergreen, Paint.NET #Requires -Modules Evergreen diff --git a/scripts/image/414_Greenshot.ps1 b/scripts/image/414_Greenshot.ps1 index be128a8..b8bf872 100644 --- a/scripts/image/414_Greenshot.ps1 +++ b/scripts/image/414_Greenshot.ps1 @@ -1,3 +1,26 @@ +<# +.SYNOPSIS +Installs the latest version of Greenshot. + +.DESCRIPTION +This script installs the latest version of Greenshot, a screenshot tool, on the local machine. It performs the following tasks: +- Creates the installation directory for Greenshot. +- Imports the "Evergreen" module for managing application installations. +- Retrieves the latest version of Greenshot from the Evergreen repository. +- Installs Greenshot silently with the specified command-line arguments. +- Closes any running instances of Greenshot. +- Downloads the default settings for Greenshot. +- Removes unnecessary shortcuts. + +.PARAMETER Path +The download path for Greenshot. The default value is "$Env:SystemDrive\Apps\Greenshot". + +.NOTES +- This script requires the "Evergreen" module to be installed. +- The script may need to be run with administrative privileges. +- The script assumes that the necessary network connectivity is available to download the Greenshot installer and default settings. +#> + #description: Installs the latest version of Greenshot #execution mode: Combined #tags: Evergreen, Greenshot diff --git a/scripts/image/415_FoxitPDFEditor.ps1 b/scripts/image/415_FoxitPDFEditor.ps1 index f958f1c..5eecbea 100644 --- a/scripts/image/415_FoxitPDFEditor.ps1 +++ b/scripts/image/415_FoxitPDFEditor.ps1 @@ -1,4 +1,20 @@ -#description: Installs the latest Foxit PDF Reader with automatic updates disabled +<# +.SYNOPSIS +Installs the latest Foxit PDF Reader with automatic updates disabled. + +.DESCRIPTION +This script installs the latest version of Foxit PDF Reader with automatic updates disabled. +It uses the Evergreen module to retrieve the appropriate version of Foxit PDF Reader based on the specified language. +The installation is performed silently and the installation log is saved in the Nerdio Logs folder. + +.PARAMETER Path +Specifies the download path for Foxit PDF Reader. The default path is "$Env:SystemDrive\Apps\Foxit\PDFEditor". + +.NOTES +- This script requires the Evergreen module to be installed. +- The script assumes that it is being run on a gold image or that updates will be managed separately. +#> + #execution mode: Combined #tags: Evergreen, Foxit, PDF #Requires -Modules Evergreen diff --git a/scripts/image/417_CitrixWorkspaceApp.ps1 b/scripts/image/417_CitrixWorkspaceApp.ps1 index 6f15489..ab05b0b 100644 --- a/scripts/image/417_CitrixWorkspaceApp.ps1 +++ b/scripts/image/417_CitrixWorkspaceApp.ps1 @@ -1,3 +1,21 @@ +<# +.SYNOPSIS +Installs the latest version of the Citrix Workspace app. + +.DESCRIPTION +This script installs the latest version of the Citrix Workspace app. +It uses the Evergreen module to retrieve the appropriate version based on the specified stream. +The installation is performed silently with specific command-line arguments. + +.PARAMETER Path +The path where the Citrix Workspace app will be download. The default path is "$Env:SystemDrive\Apps\Citrix\Workspace". + +.NOTES +- This script requires the Evergreen module to be installed. +- The script assumes that the Citrix Workspace app installation file is available in the specified stream. +- The script disables the Citrix Workspace app update tasks and removes certain startup items. +#> + #description: Installs the latest version of the Citrix Workspace app #execution mode: Combined #tags: Evergreen, Citrix diff --git a/scripts/image/420_1Password.ps1 b/scripts/image/420_1Password.ps1 index b9064d6..aeafc72 100644 --- a/scripts/image/420_1Password.ps1 +++ b/scripts/image/420_1Password.ps1 @@ -1,7 +1,21 @@ +<# +.SYNOPSIS +Installs the 1Password Windows client. + +.DESCRIPTION +This script installs the 1Password Windows client using the Evergreen module. +It downloads the MSI installer from the specified URI and installs it silently. +The installation log is saved in the specified log file. + +.PARAMETER Path +The download path for the 1Password client. The default path is "$Env:SystemDrive\Apps\AgileBits\1Password". +#> + #description: Installs the 1Password Windows client #execution mode: Combined #tags: Evergreen, AgileBits, 1Password #Requires -Modules Evergreen + [System.String] $Path = "$Env:SystemDrive\Apps\AgileBits\1Password" #region Script logic diff --git a/scripts/image/421_1PasswordCli.ps1 b/scripts/image/421_1PasswordCli.ps1 index 4bed147..8979816 100644 --- a/scripts/image/421_1PasswordCli.ps1 +++ b/scripts/image/421_1PasswordCli.ps1 @@ -1,3 +1,25 @@ +<# +.SYNOPSIS +Installs the latest 1Password CLI. + +.DESCRIPTION +This script installs the latest version of the 1Password CLI (Command Line Interface) tool. +It downloads the specified version of the CLI from the official 1Password website and extracts it to the specified installation path. +It also adds the installation path to the system's Path environment variable if it doesn't already exist. + +.PARAMETER Path +The download path for the 1Password CLI. The default value is "$Env:ProgramFiles\1Password CLI". + +.NOTES +- This script requires the Evergreen module to be installed. +- The script will create the installation path directory if it doesn't already exist. +- The script will create a "Logs" directory under "$Env:ProgramData\Nerdio" if it doesn't already exist. +- The script will download the specified version of the 1Password CLI from the official 1Password website. +- The downloaded ZIP file will be extracted to the installation path. +- The downloaded ZIP file will be deleted after extraction. +- The script will add the installation path to the system's Path environment variable if it doesn't already exist. +#> + #description: Installs the latest 1Password CLI #execution mode: Combined #tags: Evergreen, 1Password diff --git a/scripts/image/999_CleanupImage.ps1 b/scripts/image/999_CleanupImage.ps1 index 16de0ac..f2256fe 100644 --- a/scripts/image/999_CleanupImage.ps1 +++ b/scripts/image/999_CleanupImage.ps1 @@ -1,3 +1,22 @@ +<# +.SYNOPSIS +This script is used to clean up an image by reenabling settings, removing application installers, +and removing logs older than 30 days post image completion. + +.DESCRIPTION +The script performs the following actions: +- Removes policies that prevent updates during deployment on Windows 10. +- Removes unnecessary paths in the image, such as "$Env:SystemDrive\Apps" and "$Env:SystemDrive\DeployAgent". +- Clears the Temp directory by removing all items and recreating the directory. +- Deletes logs older than 30 days from the "$Env:ProgramData\Nerdio\Logs" directory. +- Disables Windows Update by modifying the registry. + +.NOTES +- This script should be run with administrative privileges. +- The script is specifically designed for use in the Nerdio environment. +- Use caution when modifying the registry as it can have unintended consequences. +#> + #description: Reenables settings, removes application installers, and remove logs older than 30 days post image completion #execution mode: Combined #tags: Image diff --git a/scripts/tweaks/Set-WindowsUITweaks.ps1 b/scripts/tweaks/Set-WindowsUITweaks.ps1 new file mode 100644 index 0000000..f2897d7 --- /dev/null +++ b/scripts/tweaks/Set-WindowsUITweaks.ps1 @@ -0,0 +1,7 @@ +#description: Configure Windows UI settings +#execution mode: Combined +#tags: UI + +# Add registry keys +reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes" /v "MS Shell Dlg" /t "REG_SZ" /d "Tahoma" /f | Out-Null +reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes" /v "MS Shell Dlg 2" /t "REG_SZ" /d "Tahoma" /f | Out-Null