docs/index.json

{
  "articles/about.html": {
    "href": "articles/about.html",
    "title": "| PnP.Wsl2",
    "keywords": "Why this module? I love command line tools, but most of them don't have autocompletion, making us revisit command syntax help over and over again. I found myself yearning for a more streamlined approach to manage my WSL2 instances effortlessly - from backups and checkpoints to seamlessly injecting new bits into instances. Automation became the name of the game to make the whole process a delightful breeze. Setting up the SharePoint Framework development toolchain is documented ... but it's still a lot of work to do it manually, if you are a consultant in multiple clients, multiple tenants, multiple projects is daunting and it can be messy. I also lead IT and development teams, and I wanted to make it easier for them to get started with WSL2 and SharePoint Framework development environments ...and PowerShell ...and Azure Devops ...and ...you get the idea. Plus, I was actually tired of typing the same commands over and over again (call me lazy \uD83E\uDD20 ). Usage Currently I'm using PnP.WSL2 on a daily basis: its ideal for quickly ramping up a new ready-to-go SharePoint Framework development environment, easily install PowerShell Core environment with already installed PnP.PowerShell , easily install all needed cli : pnpm365 , azure, etc ... As an extra ... you can even add your own custom scripts\\packages to be executed in any WSL2 instance ( that was really why this project started in the first place ) Cool, hum? Goals Make it easy to manage WSL2 instances. Checkpoints, export/import, copy wsl instances, etc. Automate WSL2 instances deploying and add extra features to them (like adding SharePoint Framework development environments, git configurations, powershell, python core, machine learning envs, bits and other tools\\apps inside a linux distribution). Central place to store collection of scripts and tools to make it easier in your IT\\Dev\\DevOps life. I hope this is helpful ! We continually enhance this module with new features and tools; your suggestions are welcome, and we invite you to contribute to the project. Enjoy !"
  },
  "articles/checkpoints.html": {
    "href": "articles/checkpoints.html",
    "title": "CheckPoints | PnP.Wsl2",
    "keywords": "CheckPoints PnP WSL2 checkpoints is a feature that allow us to capture the state of the WSL Instance at a particular point in time. This captured state includes the current WSL instance content, and it is saved as an export .vhdx file under the WSL instance folder. Whenever a checkpoint is created, a timestamped vhdx file is created in the WSL instance folder. This file can be used to restore the WSL instance to the state it was in when the checkpoint was created. Checkpoints can be used for creating backups of WSL linux system, testing software, scripts, and reverting a WSL Instance to a previous state if needed. When you add a new WSL instance, the module will automatically create a checkpoint for you making this is a good practice to have a clean state of the WSL instance. Available cmdlets to manage CheckPoints CheckPoint-PnPWsl2Instance : creates a new checkpoint of a WSL2 instance. Get-PnPWsl2CheckPoint : retrieves a list of checkpoints of a WSL2 instance. Restore-PnPWsl2Instance restores a PnP WSL2 instance from a checkpoint. Note Keep in mind that the checkpoints are stored in the WSL instance folder (under checkpoints folder) If you remove the WSL instance with Remove-PnPWsl2Instance, the checkpoints will not be deleted."
  },
  "articles/index.html": {
    "href": "articles/index.html",
    "title": "Articles | PnP.Wsl2",
    "keywords": "Articles Here you will find various articles, ranging from installing, upgrading and advanced topics. Navigate the articles in the menu at the left or use the search bar to find what you are looking for. If you have any questions or suggestions, feel free to reach out : site | email | twitter"
  },
  "articles/installation.html": {
    "href": "articles/installation.html",
    "title": "Installing PnP Wsl2 | PnP.Wsl2",
    "keywords": "Installing PnP Wsl2 You need PowerShell 7.2 or later to use PnP Wsl2. It is available for Windows and can be installed through here. You can run the following commands to install the latest PowerShell cmdlets for the current user: Install-Module PnP.Wsl2 -Scope CurrentUser Upon first use, you'll be prompted to set the root folder for the module's assets. PnPWsl2 assets are not present in the system Input PnP.Wsl2 Rootfolder [default [C:\\Users\\<CurrentUser>]] The module creates a folder named PnPWsl2, containing two subfolders: instances: All running Wsl2 instances created by this module. mods: Bash scripts for execution in your WSL instances, covering a range of functionalities. Updating PnP Wsl2 If you already have PnP Wsl2 installed and just want to update to the latest version you can follow these steps. You need PowerShell 7.2 or later to use PnP WSL2. It is available for Windows and can be installed through here. You can run the following commands to update to the latest stable PowerShell cmdlets for the current user: Update-Module PnP.Wls2 -Scope CurrentUser Uninstalling PnP Wsl2 In case you would like to remove PnP Wsl2, you can run: Uninstall-Module PnP.Wls2 -AllVersions Note Importing or updating the Pnp WSL2 module will not remove any existing wsl instances . However, out of the box Candy assets will be updated, the system will detect the changes and will prompt you to overwrite or overwrite and backup. Candy assets under the MyScripts will not be overwritten."
  },
  "articles/mlworkflows.html": {
    "href": "articles/mlworkflows.html",
    "title": "Build a machine learning development environment, with WSL2 using DirectML and TensorFlow | PnP.Wsl2",
    "keywords": "Build a machine learning development environment, with WSL2 using DirectML and TensorFlow According to Microsoft link, to create a machine learning development environment with WSL2 on Windows using DirectML and TensorFlow, we need to follow these steps: Install the Latest GPU Driver: Download and install the latest GPU driver for our hardware Enable WSL and Install a glibc-based Distribution Install Miniconda inside our WSL instance and set up a virtual Python environment using Miniconda Create a Conda Environment: Create an environment using Python and activate it Install the TensorFlow with DirectML package through pip Lot of steps right? No worries, there's a \uD83C\uDF6DCandy for that: ub-python-miniconda-tensorflow-directml This time-saving Candy \"package\" simplifies the entire process, combining Miniconda, TensorFlow, and DirectML in a convenient package. We only need to install and start using it. Add-PnPWsl2Candy -Candy ub-python-Miniconda-TensorFlow-DirectML -Instance mywslinstance The \"package\" will install the following components: Miniconda is a small bootstrap version of Anaconda: includes conda, Python, usefull pkgs TensorFlow is a popular open-source machine learning framework. Its is a symbolic math library based on dataflow and differentiable programming, used for machine learning applications such as neural networks. Direct Machine Learning (DirectML) is a low-level API for machine learning (ML). Hardware-accelerated machine learning primitives (called operators) are the building blocks of DirectML. From those building blocks, we can develop such machine learning techniques as upscaling, anti-aliasing, and style transfer, to name but a few. Note Keep in mind that before installing Candy with the TensorFlow with DirectML package inside WSL, you do need to install the latest drivers from your GPU hardware vendor. .. it's just a Candy, not a miracle worker \uD83E\uDD20 These drivers enable the Windows GPU to work with WSL. AMD | Intel | NVIDIA"
  },
  "articles/overview.html": {
    "href": "articles/overview.html",
    "title": "PnP WSL2 Overview | PnP.Wsl2",
    "keywords": "PnP WSL2 Overview PnP WSL allows easy WSL2 instances management and enforce automated deployment of WSL2 instances with added features like : SharePoint Framework development environments, PowerShell, Git and Azure Devops configurations, Python, and many more... What can you do with it ? Install\\Uninstall WSL2 in your system with all dependencies Create a new WSL instance with a specific name based on a linux distribution Create/Restore WSL2 CheckPoints (timestamped tar files). Copy a WSL instance to a new one. Export/Import a WSL instance as tar files (zip file). List and Delete WSL instances. Install apps\\tools within a WSL instance easily, thanks to tab key autocompletion. What is the experience ? On each command we have the ability to specify the Wsl instance\\distribution name just by hitting the tab key"
  },
  "articles/spfx.html": {
    "href": "articles/spfx.html",
    "title": "SharePoint Framework Development environment | PnP.Wsl2",
    "keywords": "SharePoint Framework Development environment To set up a SharePoint development environment, we usually follow these general steps: Install Node.js: Download and install a Node.js LTS Version. Install the development toolchain prerequisites (Git,Yeoman, Gulp and Microsoft\\SharePoint Yeoman Generator) Install Visual Studio Code Trusting the self-signed developer certificate Install other optional tools These steps provide a basic setup for a SharePoint development environment under Windows 11\\WSL, but there are a few more steps that we need to do to have a complete ready to go development environment. As reference, the official documentation is here After that we always need to execute a couple of operations like configure git, create a sshkey to be shared between wsl and windows , upload it to our AzureDevops\\GitHub, and so on... The \"problem\" The \"problem\" with this process is that it is not streamlined\\automated: we have to download\\install each one of the components, and configure them all manually, align with what we need. #timeconsuming #pronetoerrors The solution The PnP.Wsl2 module comes with a bundle of tools that can help us to automate the process of setting up a SharePoint development environment from scratch, and also applying those tools in an existing SPFX development. To create a completely new SPFX development with all steps mentioned before, use the \uD83C\uDF6Dub-spfx-FullDevEnvironment candy available through the Add-PnPWsl2Candy cmdlet. The candy will : Install build essentials (packages needs for compiling software inside linux) Install Nvm, Node (where you can select the version) Install gulp, yeoman ,microsoft yeoman generator Install spfxfastserve (a command-line utility that is used to improve the SPFX flow by speeding up the \"serve\" command) Prompts for your global git configuration Creates a SSHKey in Wsl, Copy that key to you windows host and upload the sshkey to a Azure DevOps instance Kinda ... cool no? (automation rules! \uD83E\uDD20) The candy is a bash script that executes all of those steps one by one. Plus ... ... each one of the steps is a candy itself, so they are available for us to execute them !"
  },
  "articles/telemetry.html": {
    "href": "articles/telemetry.html",
    "title": "Disable or Enable telemetry | PnP.Wsl2",
    "keywords": "Disable or Enable telemetry By default PnP Wsl2 will report its usage anonymously. Information about the version of PnP Wsl, the operation system version and the cmdlet executed is the only information collected. Notice that telemetry will not include parameters used and will not include any values of parameters. Telemetry will also not be able to trace the execution back to the specific tenant it ran on, the organization it was used for or the person it was run by. Having telemetry in place allows to get insight in the usage of cmdlets and thereby prioritize work towards the most popular cmdlets. To query if in a connected PnP Wsl2 session the telemetry is enabled, use Get-PnPWsl2Telemetry. Enable Telemetry You can enable telemetry to be sent by using Enable-PnPWsl2Telemetry Disable Telemetry You can disable telemetry to be sent by using Disable-PnPWsl2Telemetry Enabling\\Disabling Telemetry by using an environment variable To disable telemetry, set the PNPWSL2_DISABLETELEMETRY environment variable to true, i.e. by using $env:PNPWSL2_DISABLETELEMETRY=$true. Remove the entry again or set it to false to enable telemetry to be sent again."
  },
  "articles/whywsl.html": {
    "href": "articles/whywsl.html",
    "title": "Why should we use WSL ? | PnP.Wsl2",
    "keywords": "Why should we use WSL ? Windows Subsystem for Linux (WSL) is a feature in Windows that allows us to run a Linux distribution directly on a Windows machine, without the need for virtual machines or dual-boot setups. As a developer, IT professionals, or DevOps practitioners, there are several reasons why we find WSL beneficial for our workflows since it offers a lot of benefits in terms of file system, compile tools, and usage speed, especially when compared to native Windows environments. Reasons to Use WSL Here are some reasons why we must consider using WSL within our development or IT workflows \uD83D\uDCC2 File System Performance One of the significant advantages of WSL is its integration of a Linux file system on top of the Windows file system. This allows for better file I/O performance, as Linux file systems are generally optimized for the kind of workloads encountered in development and server environments. Linux file systems tend to handle a large number of small files and symbolic links more efficiently, which is beneficial for projects with many dependencies or intricate directory structures. Doing a lot of file I/O operations, such as reading and writing files, is faster in WSL compared to native Windows. Are you developing a Node-based solution? You will notice a significant improvement in the time it takes to build and bundle your solution. \uD83D\uDEE0️ Compile Tools and Usage Speed WSL provides a native Linux environment, allowing us to use Linux-based compile tools directly on our Windows machine. This leads to faster compilation times compared to running these tools in a native Windows environment. The Linux environment in WSL is lightweight and performs well, enabling a smoother development experience, particularly for projects that leverage Linux-centric toolchains. \uD83E\uDDCA Node.js and Frontend Development WSL allows us to run Node.js and other frontend development tools natively in a Linux environment. This can help avoid compatibility issues and streamline development workflow. Frontend development often involves using command-line tools and building systems that are more native to Linux. WSL facilitates the seamless integration and execution of these tools. \uD83E\uDD94 SharePoint Development SharePoint development often involves a mix of technologies, including .NET and various scripting languages. With WSL, we can leverage the strengths of both Windows and Linux environments, ensuring compatibility and ease of use for a broader range of tools and frameworks. \uD83D\uDC0D Python Development WSL provides a convenient environment for Python development, offering compatibility with Linux-specific Python libraries and tools. With the ability to seamlessly switch between Windows and Linux environments, we can choose the best-suited tools for our Python development tasks. \uD83D\uDCC3PowerShell and CLI Tools WSL does not replace PowerShell; instead, it complements it. We can still use PowerShell for Windows-centric tasks, and with WSL, we now have the flexibility to use Linux command-line tools for tasks where they are more suited. This dual-environment capability is valuable for IT professionals and DevOps practitioners who often work with a diverse set of tools and technologies. ♾️ DevOps and Automation WSL is well-suited for DevOps and automation tasks, providing a consistent environment for running scripts and tools across different platforms. Whether we are working with configuration management tools, containerization, or CI/CD pipelines, WSL can help streamline our DevOps workflows. ☁️ Cloud Development WSL is well-suited for cloud development, providing a consistent environment for working with cloud platforms and services. Whether we are developing cloud-native applications, managing cloud infrastructure, or working with cloud-based tools, WSL can help ensure a seamless development experience. \uD83C\uDFEB Machine Learning and Data Science WSL provides a convenient environment for machine learning and data science tasks, offering compatibility with Linux-specific libraries and tools. With WSL, we can leverage the strengths of both Windows and Linux environments, ensuring compatibility and ease of use for a broader range of machine learning and data science tools. WSL offers a wide range of benefits for developers, IT professionals, and DevOps practitioners, providing a seamless and efficient way to work with Linux-based tools and technologies on Windows. Whether we are developing applications, managing infrastructure, or working with cloud platforms, WSL can help streamline the workflows and ensure a consistent and productive development experience."
  },
  "candy/index.html": {
    "href": "candy/index.html",
    "title": "| PnP.Wsl2",
    "keywords": "\uD83C\uDF6C What is a PnPWls2 Candy? A \"Candy\" is simply a bash script to be applied on a WSL\\Linux environment . It can be use to install applications, configure settings or even populate linux environments (yeah , #sky is the limit !) . Candy Pot ... PnP Wsl2 Candy Pot has around 26 items which can help setting up, configuring and maintaining the linux environments inside our WSL instances. Each of the cmdlets is documented to aid in learning how to use it . Hey ... you can even add your own ! Azure \uD83C\uDF6Dub-az-AzureCli Installs Azure Cli . Azure Cli is a Microsoft Azure command-line tool used to create and manage Azure resources Add-PnPWsl2Candy -Candy ub-az-AzureCli -Instance myinstance \uD83C\uDF6Dub-az-AzureCli+CreatePAT Installs Azure Cli and CreatePAT candy A personal access token contains your security credentials for Azure DevOps. Add-PnPWsl2Candy -Candy ub-az-AzureCli+CreatePAT -Instance myinstance \uD83C\uDF6Dub-az-CreatePAT Creates a AzureDevOps Personal Access Token that is valid for 1 year Add-PnPWsl2Candy -Candy ub-az-CreatePAT -Instance myinstance \uD83C\uDF6Dub-az-SSHKeyAddToAzDevops This script is used to add a WSL SSH key to an Azure DevOps organization It prompts the user to enter the Azure DevOps organization and the SSH key name Gets the SSH key from the .ssh directory Adds the SSH key to the Azure DevOps organization Add-PnPWsl2Candy -Candy ub-az-SSHKeyAddToAzDevops -Instance myinstance dotnet \uD83C\uDF6Dub-dotnet-SdkInstall Installs a specified version of Node.js using the Node Version Manager (NVM). It first checks if the requested version is already installed. If the requested version is not installed, the script installs it using NVM Sets installed version as the current version Add-PnPWsl2Candy -Candy ub-dotnet-SdkInstall -Instance myinstance M365 \uD83C\uDF6Dub-m365-PnPCliMicrosoft365 Installs @pnp/cli-microsoft365. pnp/cli-microsoft365 is a command-line interface (CLI) that allows users to manage their Microsoft 365 tenant and SharePoint Framework projects on any platform Add-PnPWsl2Candy -Candy ub-m365-PnPCliMicrosoft365 -Instance myinstance \uD83C\uDF6Dub-m365-PnPPowerShell Installs PnP.PowerShell. PnP.PowerShell is a cross-platform PowerShell Module that provides over 650 cmdlets to work with Microsoft 365 environments Add-PnPWsl2Candy -Candy ub-m365-PnPPowerShell -Instance myinstance \uD83C\uDF6Dub-m365-PSCore+PnPPowerShell This script will install PowerShell Core and PnP.PowerShell Add-PnPWsl2Candy -Candy ub-m365-PSCore+PnPPowerShell -Instance myinstance Node \uD83C\uDF6Dub-node-Install Installs a specified version of Node.js using the Node Version Manager (NVM). It first checks if the requested version is already installed. If the requested version is not installed, the script installs it using NVM Sets installed version as the current version Add-PnPWsl2Candy -Candy ub-node-Install -Instance myinstance \uD83C\uDF6Dub-node-Nvm Installs the Node Version Manager (nvm). Node Version Manager (NVM) is a tool used to download, install, manage, and upgrade Node.js versions Add-PnPWsl2Candy -Candy ub-node-Nvm -Instance myinstance \uD83C\uDF6Dub-node-RimRaf Installs the RimRaf Node tool. RimRaf is a utility for Node.js that provides a faster alternative to the 'rm -rf' shell command. It allows for deep recursive deletion of files and folders Add-PnPWsl2Candy -Candy ub-node-RimRaf -Instance myinstance PowerShell \uD83C\uDF6Dub-pwsh-PowerShellCore Installs the latest version of PowerShell Core. PowerShell Core is a cross-platform automation and configuration tool/framework that works on Windows, Linux, and macOS. It is based on .NET Core, which allows it to be multiplatform Add-PnPWsl2Candy -Candy ub-pwsh-PowerShellCore -Instance myinstance Python \uD83C\uDF6Dub-python-Miniconda-TensorFlow-DirectML Set up TensorFlow with DirectML (run machine learning (ML) training on existing hardware). Before installing the TensorFlow with DirectML package inside WSL, you need to install the latest drivers from your GPU hardware vendor. These drivers enable the Windows GPU to work with WSL. AMD Intel AMD To enable TensorFlow with DirectML in WSL, we are installing Miniconda,Tensorflow and DirectML.This candy does all the work for you Instructions followed from Microsoft Miniconda is a small bootstrap version of Anaconda: includes conda, Python, usefull pkgs Tensorflow is a open source machine learning platform DirectML is a high-performance, hardware-accelerated DirectX 12 library for machine learning Add-PnPWsl2Candy -Candy ub-python-Miniconda-TensorFlow-DirectML -Instance myinstance SharePoint Framework \uD83C\uDF6Dub-spfx-FullDevEnvironment This script will install all needed assets for SharePoint Framework Development environment following Microsoft guidance mentioned here It will install nvm , node (you can select the version), gulp-cli, yeoman, microsoft yeoman generator, and spfxfastserve Create the sfpx self-signed developer certificate Import the certificate to your windows local computer store Will also create the sshkey in wsl updating it to your windows host Import sshkey into your Azure Devops instance Add-PnPWsl2Candy -Candy ub-spfx-FullDevEnvironment -Instance myinstance \uD83C\uDF6Dub-spfx-git-Config This script is used to configure git (username;useremail). Add-PnPWsl2Candy -Candy ub-spfx-git-Config -Instance myinstance \uD83C\uDF6Dub-spfx-gulp-TrustDevCert This script is will install the SharePoint Framework Development Certificate. Add-PnPWsl2Candy -Candy ub-spfx-gulp-TrustDevCert -Instance myinstance \uD83C\uDF6Dub-spfx-gulp-Yo-Mgen-Fs This script is used to install gulp-cli yo @microsoft/generator-sharepoint spfx-fast-serve. Add-PnPWsl2Candy -Candy ub-spfx-gulp-Yo-Mgen-Fs -Instance myinstance System \uD83C\uDF6Dub-sys-wsl-Initialize Initializes a ubuntu environment Add-PnPWsl2Candy -Candy ub-sys-wsl-Initialize -Instance myinstance \uD83C\uDF6Dub-sys-wsl-SSHKeyGenerate This script is a bash shell script that will create an SSH key in WSL and will update your windows host with the same key Add-PnPWsl2Candy -Candy ub-sys-wsl-SSHKeyGenerate -Instance myinstance \uD83C\uDF6Dub-sys-wsl-SuperUser This script is a bash shell script that sets the default user for a WSL instance Add-PnPWsl2Candy -Candy ub-sys-wsl-SuperUser -Instance myinstance \uD83C\uDF6Dub-sys-wsl-Updates This script is a bash shell script that updates the current Linux distribution packages Add-PnPWsl2Candy -Candy ub-sys-wsl-Updates -Instance myinstance \uD83C\uDF6Dub-sys-wsl-Utils This script is a bash shell script that installs WSL utilities Add-PnPWsl2Candy -Candy ub-sys-wsl-Utils -Instance myinstance MyScripts \uD83C\uDF6Dub-myscripts-eggxample1 Installs gedit linux app Eggxample1 is a script that installs a linux app (gedit) After execution take a peek at your Windows Start Menu, you should see a new entry for the app. Purpose : show how to install a package and how to run linux apps in windows. Add-PnPWsl2Candy -Candy ub-myscripts-eggxample1 -Instance myinstance \uD83C\uDF6Dub-myscripts-eggxample2 Eggxample2 is a script that runs a RickRool PowerShell script. Eggxample2 is a script that runs a PowerShell script that calls a windows process and plays a rickroll. Purpose : show how to run a process in windows within wsl. Add-PnPWsl2Candy -Candy ub-myscripts-eggxample2 -Instance myinstance \uD83C\uDF6Dub-myscripts-eggxample3 Installs linux x11 apps and shows a clock and a calc Eggxample1 is a script that installs X11 apps (linux), shows a linux clock and a linux calc. Purpose is to show how to install a package and run a process in linux. Add-PnPWsl2Candy -Candy ub-myscripts-eggxample3 -Instance myinstance \uD83C\uDF6Dub-myscripts-MyFirstScript Simple Hello World! Purpose is to have a .sh baseline. Add-PnPWsl2Candy -Candy ub-myscripts-MyFirstScript -Instance myinstance Important Note: Updating\\Importing the Pnp WSL2 module will not remove any existing assets. However out of the box Candy assets will be updated ( the system will detect the changes and will prompt you). Candy under the MyScripts will not be overwritten."
  },
  "cmdlets/Add-PnPWsl2Candy.html": {
    "href": "cmdlets/Add-PnPWsl2Candy.html",
    "title": "Add-PnPWsl2Candy | PnP.Wsl2",
    "keywords": "Add-PnPWsl2Candy SYNOPSIS Installs a WSL PnPCandy\\tool. SYNTAX Add-PnPWsl2Candy [-Instance] <Object> [-Candy] <Object> [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Add-PnPWsl2Candy function installs WSL tools (Candy) by executing the specified scripts. EXAMPLES EXAMPLE 1 Add-PnPWsl2Candy -Instance \"Ubuntu-20.04\" -Candy \"PowerShell\" Installs PowerShell on the specified WSL Instance . -Instance Specifies the WSL Instance to install the pnpcandy on. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False -Candy Specifies the Candy\\tool to install. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 2 Default value: None Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Add-PnPWsl2Instance.html": {
    "href": "cmdlets/Add-PnPWsl2Instance.html",
    "title": "Add-PnPWsl2Instance | PnP.Wsl2",
    "keywords": "Add-PnPWsl2Instance SYNOPSIS Adds a new WSL2 instance. SYNTAX Add-PnPWsl2Instance [-Distribution] <Object> [-InstanceName] <Object> [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Add-PnPWsl2Instance adds a new WSL2 instance with a specified distribution. Behind the scenes, it creates a folder in PnPWsl2/instances with the instance name and will export a backup of the current instance in the PnPWsl2/images folder EXAMPLES EXAMPLE 1 Add-PnPWsl2Instance -Distribution \"Ubuntu-20.04\" -InstanceName \"MyInstance\" This command adds a new WSL2 instance named \"MyInstance\" with the \"Ubuntu-20.04\" distribution. -Distribution Specifies the distribution for the new WSL2 instance. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False -InstanceName Specifies the name for the new WSL2 instance. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 2 Default value: None Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/CheckPoint-PnPWsl2Instance.html": {
    "href": "cmdlets/CheckPoint-PnPWsl2Instance.html",
    "title": "CheckPoint-PnPWsl2Instance | PnP.Wsl2",
    "keywords": "CheckPoint-PnPWsl2Instance SYNOPSIS Creates a new checkpoint of a WSL2 instance. SYNTAX CheckPoint-PnPWsl2Instance [-Instance] <Object> -CheckpointName <Object> [-Force] [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The CheckPoint-PnPWsl2Instance function creates a new checkpoint of a specified WSL2 instance. EXAMPLES EXAMPLE 1 CheckPoint-PnPWsl2Instance -Instance \"Ubuntu-20.04\" -CheckpointName \"MyCheckpoint\" This command creates a new checkpoint of the \"Ubuntu-20.04\" WSL2 instance with the name \"MyCheckpoint\". Checkpoints (vhdx) exist within the PnPWsl2/instance location under the \"checkpoints\" folder. -Instance Specifies the WSL2 instance to checkpoint. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 1 Default value: None Accept pipeline input: True (ByValue) Accept wildcard characters: False -CheckpointName Specifies the name of the checkpoint. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False -Force If this switch is provided, it will not prompt for confirmation before creating the checkpoint. Type: SwitchParameter Parameter Sets: (All) Aliases: Required: False Position: Named Default value: False Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Copy-PnPWsl2Instance.html": {
    "href": "cmdlets/Copy-PnPWsl2Instance.html",
    "title": "Copy-PnPWsl2Instance | PnP.Wsl2",
    "keywords": "Copy-PnPWsl2Instance SYNOPSIS Copies a WSL 2 Instance to a new Instance. SYNTAX Copy-PnPWsl2Instance [-Instance] <Object> -NewInstanceName <Object> [-Force] [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION This function allows you to copy an existing WSL 2 Instance to a new Instance with a specified name. EXAMPLES EXAMPLE 1 Copy-PnPWsl2Instance -Instance \"Ubuntu-20.04\" -NewInstanceName \"MyUbuntu\" This example copies the \"Ubuntu-20.04\" Instance to a new instance named \"MyUbuntu\". -Instance Specifies the name of the WSL 2 Instance to be copied. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 1 Default value: None Accept pipeline input: True (ByValue) Accept wildcard characters: False -NewInstanceName Specifies the name of the new Instance to be created. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False -Force {{ Fill Force Description }} Type: SwitchParameter Parameter Sets: (All) Aliases: Required: False Position: Named Default value: False Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Disable-PnPWsl2.html": {
    "href": "cmdlets/Disable-PnPWsl2.html",
    "title": "Disable-PnPWsl2 | PnP.Wsl2",
    "keywords": "Disable-PnPWsl2 SYNOPSIS Disables the Windows features 'VirtualMachinePlatform' and 'Microsoft-Windows-Subsystem-Linux'. SYNTAX Disable-PnPWsl2 [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Disable-PnPWsl2 function disables the Windows features 'VirtualMachinePlatform' and 'Microsoft-Windows-Subsystem-Linux'. It prompts the user for confirmation before disabling the features and also checks if the cmdlet is being run as an administrator. After disabling the features, it prompts the user to restart the machine. EXAMPLES EXAMPLE 1 Disable-PnPWsl2 -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Disable-PnPWsl2Telemetry.html": {
    "href": "cmdlets/Disable-PnPWsl2Telemetry.html",
    "title": "Disable-PnPWsl2Telemetry | PnP.Wsl2",
    "keywords": "Disable-PnPWsl2Telemetry SYNOPSIS Disables the telemetry for the PnP.WSL2 module. SYNTAX Disable-PnPWsl2Telemetry DESCRIPTION The Disable-PnPWsl2Telemetry function is used to disable telemetry for PnP.WSL2 . EXAMPLES EXAMPLE 1 Disable-PnPWsl2Telemetry"
  },
  "cmdlets/Enable-PnPWsl2.html": {
    "href": "cmdlets/Enable-PnPWsl2.html",
    "title": "Enable-PnPWsl2 | PnP.Wsl2",
    "keywords": "Enable-PnPWsl2 SYNOPSIS Enables the necessary features for running the Windows Subsystem for Linux 2 (WSL2). SYNTAX Enable-PnPWsl2 [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Enable-PnPWsl2 function enables the required features for running WSL2. It checks if the cmdlet is running with administrator privileges and then enables the 'Microsoft-Windows-Subsystem-Linux' and 'VirtualMachinePlatform' features. Finally, it restarts the computer to apply the changes. EXAMPLES EXAMPLE 1 Enable-PnPWsl2 -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Enable-PnPWsl2Telemetry.html": {
    "href": "cmdlets/Enable-PnPWsl2Telemetry.html",
    "title": "Enable-PnPWsl2Telemetry | PnP.Wsl2",
    "keywords": "Enable-PnPWsl2Telemetry SYNOPSIS Enables the telemetry for the PnP.WSL2 module. SYNTAX Enable-PnPWsl2Telemetry DESCRIPTION The Enable-PnPWsl2Telemetry function is used to enable telemetry for PnP.WSL2 . EXAMPLES EXAMPLE 1 Enable-PnPWsl2Telemetry"
  },
  "cmdlets/Export-PnPWsl2Instance.html": {
    "href": "cmdlets/Export-PnPWsl2Instance.html",
    "title": "Export-PnPWsl2Instance | PnP.Wsl2",
    "keywords": "Export-PnPWsl2Instance SYNOPSIS Exports a WSL2 instance to a file. SYNTAX Export-PnPWsl2Instance [-Instance] <Object> [-Type] <Object> [-ExportPath] <Object> [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The `Export-PnPWsl2Instance` function exports a WSL2 instance to a file. The type of the file can be either a tar file or a VHD file. EXAMPLES EXAMPLE 1 Export-PnPWsl2Instance -Instance \"Ubuntu-20.04\" -Type \"TarFile\" -ExportPath \"/path/to/export\" This example exports the \"Ubuntu-20.04\" WSL2 instance to a tar file. The export file will be saved in \"/path/to/export\". -Instance The name of the WSL2 instance to export. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 1 Default value: None Accept pipeline input: True (ByValue) Accept wildcard characters: False -Type The type of the export file. It can be either \"TarFile\" or \"VhdFile\". This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 2 Default value: None Accept pipeline input: False Accept wildcard characters: False -ExportPath The path where the export file will be saved. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 3 Default value: None Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Get-PnPWsl2Candie.html": {
    "href": "cmdlets/Get-PnPWsl2Candie.html",
    "title": "Get-PnPWsl2Candie | PnP.Wsl2",
    "keywords": "Get-PnPWsl2Candie SYNOPSIS This function retrieves a list of current available tools (Candy\\scripts). SYNTAX Get-PnPWsl2Candie [-IncludePath] [<CommonParameters>] DESCRIPTION The Get-PnPWsl2Candie retrieves a list of current available tools (Candy\\scripts). EXAMPLE 1 Get-PnPWsl2Candie This command retrieves a list of current available tools (Candy\\scripts). -IncludePath A switch parameter that determines whether to include the FullPath property in the output. If this parameter is provided, FullPath is included. Type: SwitchParameter Parameter Sets: (All) Aliases: Required: False Position: Named Default value: False Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Get-PnPWsl2Candy.html": {
    "href": "cmdlets/Get-PnPWsl2Candy.html",
    "title": "Get-PnPWsl2Candy | PnP.Wsl2",
    "keywords": "Get-PnPWsl2Candy SYNOPSIS This function retrieves a list of current available tools (Candy\\scripts). SYNTAX Get-PnPWsl2Candy [-IncludePath] [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Get-PnPWsl2Candy retrieves a list of current available tools (Candy\\scripts). EXAMPLES EXAMPLE 1 Get-PnPWsl2Candy This command retrieves a list of current available tools (Candy\\scripts). -IncludePath A switch parameter that determines whether to include the FullPath property in the output. If this parameter is provided, FullPath is included. Type: SwitchParameter Parameter Sets: (All) Aliases: Required: False Position: Named Default value: False Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Get-PnPWsl2CheckPoint.html": {
    "href": "cmdlets/Get-PnPWsl2CheckPoint.html",
    "title": "Get-PnPWsl2CheckPoint | PnP.Wsl2",
    "keywords": "Get-PnPWsl2CheckPoint SYNOPSIS Retrieves a list of checkpoints of a WSL2 instance. SYNTAX Get-PnPWsl2CheckPoint [-Instance] <Object> [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Get-PnPWsl2CheckPoint function retrieves the checkpoints of a specified WSL2 instance. EXAMPLES EXAMPLE 1 Get-PnPWsl2CheckPoint -Instance \"Ubuntu-20.04\" This command retrieves a list of checkpoints of the \"Ubuntu-20.04\" WSL2 instance. -Instance Specifies the WSL2 instance to get the checkpoints from. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 1 Default value: None Accept pipeline input: True (ByValue) Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Get-PnPWsl2Configuration.html": {
    "href": "cmdlets/Get-PnPWsl2Configuration.html",
    "title": "Get-PnPWsl2Configuration | PnP.Wsl2",
    "keywords": "Get-PnPWsl2Configuration SYNOPSIS Retrieves the configuration settings for PnPWsl2. SYNTAX Get-PnPWsl2Configuration [-details] [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Get-PnPWsl2Configuration function retrieves the configuration settings for PnPWsl2. It displays basic information about the configuration, such as the PnPWsl2 root folder, WSL tools folder, and WSL images root folder. If the -detailed switch parameter is specified, it also displays the replace parameters and used internal WSL functions. EXAMPLES EXAMPLE 1 Get-PnPWsl2Configuration Retrieves and displays the basic configuration information for PnPWsl2. EXAMPLE 2 Get-PnPWsl2Configuration -details Retrieves and displays detailed configuration information for PnPWsl2, including replace parameters and WSL functions. -details Specifies whether to display detailed information about the configuration. If this switch parameter is specified, the replace parameters and WSL functions will be displayed. Type: SwitchParameter Parameter Sets: (All) Aliases: Required: False Position: Named Default value: False Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False System.Collections.Hashtable"
  },
  "cmdlets/Get-PnPWsl2Distribution.html": {
    "href": "cmdlets/Get-PnPWsl2Distribution.html",
    "title": "Get-PnPWsl2Distribution | PnP.Wsl2",
    "keywords": "Get-PnPWsl2Distribution SYNOPSIS Retrieves the WSL2 distributions. SYNTAX Get-PnPWsl2Distribution [[-instanceName] <String>] [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION This function retrieves the WSL2 distributions based on the specified parameters. EXAMPLES EXAMPLE 1 Get-PnPWsl2Distribution Retrieves all online WSL2 distributions. EXAMPLE 2 Get-PnPWsl2Distribution -instanceName \"Ubuntu-20.04\" Retrieves the WSL2 distribution with the specified instance name. -instanceName Specifies the name of the WSL2 instance. Type: String Parameter Sets: (All) Aliases: Required: False Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Get-PnPWsl2Distributions.html": {
    "href": "cmdlets/Get-PnPWsl2Distributions.html",
    "title": "Get-PnPWsl2Distributions | PnP.Wsl2",
    "keywords": "Get-PnPWsl2Distributions SYNOPSIS Retrieves the WSL2 distributions. SYNTAX Get-PnPWsl2Distributions [[-instanceName] <String>] [<CommonParameters>] DESCRIPTION This function retrieves the WSL2 distributions based on the specified parameters. EXAMPLE 1 Get-PnPWsl2Distributions Retrieves all online WSL2 distributions. EXAMPLE 2 Get-PnPWsl2Distributions -instanceName \"Ubuntu-20.04\" Retrieves the WSL2 distribution with the specified instance name. -instanceName Specifies the name of the WSL2 instance. Type: String Parameter Sets: (All) Aliases: Required: False Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Get-PnPWsl2Help.html": {
    "href": "cmdlets/Get-PnPWsl2Help.html",
    "title": "Get-PnPWsl2Help | PnP.Wsl2",
    "keywords": "Get-PnPWsl2Help SYNOPSIS Displays a basic help message for the PnP.WSL2 module. SYNTAX Get-PnPWsl2Help DESCRIPTION The Get-PnPWsl2Help function retrieves the module configuration and displays a small screen with the title and description of the configuration. It then generates a basic information message about the PnP.WSL2 module and its available commands. EXAMPLES EXAMPLE 1 Get-PnPWsl2Help Displays a basic help message for the PnP.WSL2 module."
  },
  "cmdlets/Get-PnPWsl2Instance.html": {
    "href": "cmdlets/Get-PnPWsl2Instance.html",
    "title": "Get-PnPWsl2Instance | PnP.Wsl2",
    "keywords": "Get-PnPWsl2Instance SYNOPSIS Retrieves the instances of WSL2 distributions. SYNTAX Get-PnPWsl2Instance DESCRIPTION This function retrieves the instances of WSL2 distributions. EXAMPLES EXAMPLE 1 Get-PnPWsl2Instance Retrieves the local WSL2 instances distributions."
  },
  "cmdlets/Get-PnPWsl2Instances.html": {
    "href": "cmdlets/Get-PnPWsl2Instances.html",
    "title": "Get-PnPWsl2Instances | PnP.Wsl2",
    "keywords": "Get-PnPWsl2Instances SYNOPSIS Retrieves the instances of WSL2 distributions. SYNTAX Get-PnPWsl2Instances DESCRIPTION This function retrieves the instances of WSL2 distributions. EXAMPLE 1 Get-PnPWsl2Instances Retrieves the local WSL2 instances distributions."
  },
  "cmdlets/Get-PnPWsl2Telemetry.html": {
    "href": "cmdlets/Get-PnPWsl2Telemetry.html",
    "title": "Get-PnPWsl2Telemetry | PnP.Wsl2",
    "keywords": "Get-PnPWsl2Telemetry SYNOPSIS This function retrieves the status of the PnP.WSL2 telemetry. SYNTAX Get-PnPWsl2Telemetry DESCRIPTION The Get-PnPWsl2Telemetry function checks the environment and retrieves the status of the PnP.WSL2 telemetry. EXAMPLES EXAMPLE 1 Get-PnPWsl2Telemetry This command will retrieve the status of the PnP.WSL2 telemetry"
  },
  "cmdlets/Import-PnPWsl2Instance.html": {
    "href": "cmdlets/Import-PnPWsl2Instance.html",
    "title": "Import-PnPWsl2Instance | PnP.Wsl2",
    "keywords": "Import-PnPWsl2Instance SYNOPSIS Imports a WSL2 Instance from a tar file (zip file). SYNTAX Import-PnPWsl2Instance -InstanceFile <Object> [-Instance] <Object> [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Import-PnPWsl2Instance function imports a WSL2 Instance from a tar file (zip file) and creates a new Instance with the specified name. EXAMPLES EXAMPLE 1 Import-PnPWsl2Instance -InstanceFile \"C:\\path\\to\\Instance.tar\" -Instance \"MyInstance\" Imports the WSL2 Instance from the specified tar file (zip file) and creates a new Instance named \"MyInstance\". -InstanceFile The path to the Instance file File can be either a tar file or a VHD file. Type: Object Parameter Sets: (All) Aliases: Required: True Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False -Instance The name of the new Instance. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 2 Default value: None Accept pipeline input: True (ByValue) Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Invoke-PnPWsl2Script.html": {
    "href": "cmdlets/Invoke-PnPWsl2Script.html",
    "title": "Invoke-PnPWsl2Script | PnP.Wsl2",
    "keywords": "Invoke-PnPWsl2Script SYNOPSIS Invokes a Bash script in a WSL 2 Instance. SYNTAX Invoke-PnPWsl2Script [-ScriptPath] <Object> [-Instance] <Object> [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Invoke-PnPWsl2Script function is used to execute a Bash script in a WSL 2 Instance. It takes the script base name and the target WSL 2 Instance as mandatory parameters. EXAMPLES EXAMPLE 1 Invoke-PnPWsl2Script -scriptBaseName \"MyScript.sh\" -Instance \"Ubuntu-20.04\" This example invokes the Bash script named \"MyScript.sh\" in the \"Ubuntu-20.04\" WSL 2 Instance. -ScriptPath The Bash script path to be executed. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False -Instance The target WSL 2 Instance where the script will be executed. Use the ValidateWslLocalInstance argument completer to provide valid Instance names. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 2 Default value: None Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Remove-PnPWsl2Instance.html": {
    "href": "cmdlets/Remove-PnPWsl2Instance.html",
    "title": "Remove-PnPWsl2Instance | PnP.Wsl2",
    "keywords": "Remove-PnPWsl2Instance SYNOPSIS Removes a PnP WSL2 instance. SYNTAX Remove-PnPWsl2Instance [-Instance] <Object> [-Force] [-ProgressAction <ActionPreference>] [-WhatIf] [-Confirm] [<CommonParameters>] DESCRIPTION The Remove-PnPWsl2Instance cmdlet removes a specified PnP WSL2 instance. It requires the name of the instance as a mandatory parameter. The cmdlet validates the instance name before attempting to remove it. If the -Force switch is not provided, it prompts for confirmation before removing the instance. EXAMPLES EXAMPLE 1 # Remove a PnP WSL2 instance named \"MyInstance\" Remove-PnPWsl2Instance -Instance \"MyInstance\" EXAMPLE 2 # Remove a PnP WSL2 instance named \"MyInstance\" without prompting for confirmation Remove-PnPWsl2Instance -Instance \"MyInstance\" -Force -Instance The name of the PnP WSL2 instance to remove. This parameter is mandatory and accepts pipeline input. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 1 Default value: None Accept pipeline input: True (ByValue) Accept wildcard characters: False -Force If this switch is provided, the cmdlet does not prompt for confirmation before removing the instance. Type: SwitchParameter Parameter Sets: (All) Aliases: Required: False Position: Named Default value: False Accept pipeline input: False Accept wildcard characters: False -WhatIf Shows what would happen if the cmdlet runs. The cmdlet is not run. Type: SwitchParameter Parameter Sets: (All) Aliases: wi Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False -Confirm Prompts you for confirmation before running the cmdlet. Type: SwitchParameter Parameter Sets: (All) Aliases: cf Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False System.String"
  },
  "cmdlets/Restore-PnPWsl2Instance.html": {
    "href": "cmdlets/Restore-PnPWsl2Instance.html",
    "title": "Restore-PnPWsl2Instance | PnP.Wsl2",
    "keywords": "Restore-PnPWsl2Instance SYNOPSIS Restores a PnP WSL2 instance from a checkpoint. SYNTAX Restore-PnPWsl2Instance [-Instance] <Object> [-Force] [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Restore-PnPWsl2Instance cmdlet restores a specified PnP WSL2 instance from a checkpoint. It requires the name of the instance and the checkpoint as mandatory parameters. The cmdlet validates the instance name and the checkpoint before attempting to restore. If the instance name or the checkpoint is invalid, it throws an error. If the -Force switch is not provided, it prompts for confirmation before restoring the instance. EXAMPLES EXAMPLE 1 # Restore a PnP WSL2 instance named \"MyInstance\" from a checkpoint named \"MyCheckpoint\" Restore-PnPWsl2Instance -Instance \"MyInstance\" -CheckPoint \"MyCheckpoint\" EXAMPLE 2 # Restore a PnP WSL2 instance named \"MyInstance\" from a checkpoint named \"MyCheckpoint\" without prompting for confirmation Restore-PnPWsl2Instance -Instance \"MyInstance\" -CheckPoint \"MyCheckpoint\" -Force -Instance The name of the PnP WSL2 instance to restore. This parameter is mandatory and does not accept pipeline input. The cmdlet validates the instance name using the ValidateWslLocalInstance function. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False -Force If this switch is provided, the cmdlet does not prompt for confirmation before restoring the instance. Type: SwitchParameter Parameter Sets: (All) Aliases: Required: False Position: Named Default value: False Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Start-PnPWsl2.html": {
    "href": "cmdlets/Start-PnPWsl2.html",
    "title": "Start-PnPWsl2 | PnP.Wsl2",
    "keywords": "Start-PnPWsl2 SYNOPSIS Start a WSL instance SYNTAX Start-PnPWsl2 [-Instance] <Object> [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Start-PnPWsl2 function starts a WSL instance. EXAMPLES EXAMPLE 1 Start-PnPWsl2 -Instance \"Ubuntu-20.04\" Starts the specified WSL Instance. -Instance Specifies the WSL Instance to start. This parameter is mandatory. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Stop-PnPWsl2.html": {
    "href": "cmdlets/Stop-PnPWsl2.html",
    "title": "Stop-PnPWsl2 | PnP.Wsl2",
    "keywords": "Stop-PnPWsl2 SYNOPSIS Stops the WSL2 service. SYNTAX Stop-PnPWsl2 [-ProgressAction <ActionPreference>] [<CommonParameters>] DESCRIPTION The Stop-PnPWsl2 cmdlet stops the WSL2 service if it is currently running. EXAMPLES EXAMPLE 1 Stop-PnPWsl2 This command stops the WSL2 service. -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/Stop-PnPWsl2Instance.html": {
    "href": "cmdlets/Stop-PnPWsl2Instance.html",
    "title": "Stop-PnPWsl2Instance | PnP.Wsl2",
    "keywords": "Stop-PnPWsl2Instance SYNOPSIS Stops a WSL2 instance. SYNTAX Stop-PnPWsl2Instance [-Instance] <Object> [-ProgressAction <ActionPreference>] [-WhatIf] [-Confirm] [<CommonParameters>] DESCRIPTION The Stop-PnPWsl2Instance cmdlet stops a running WSL2 instance. The instance to stop is specified by the Instance parameter. EXAMPLES EXAMPLE 1 Stop-PnPWsl2Instance -Instance \"MyInstance\" This command stops the WSL2 instance named \"MyInstance\". -Instance Specifies the instance to stop. This parameter is mandatory and accepts only valid WSL2 instance names. Type: Object Parameter Sets: (All) Aliases: Required: True Position: 1 Default value: None Accept pipeline input: False Accept wildcard characters: False -WhatIf Shows what would happen if the cmdlet runs. The cmdlet is not run. Type: SwitchParameter Parameter Sets: (All) Aliases: wi Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False -Confirm Prompts you for confirmation before running the cmdlet. Type: SwitchParameter Parameter Sets: (All) Aliases: cf Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False -ProgressAction {{ Fill ProgressAction Description }} Type: ActionPreference Parameter Sets: (All) Aliases: proga Required: False Position: Named Default value: None Accept pipeline input: False Accept wildcard characters: False"
  },
  "cmdlets/index.html": {
    "href": "cmdlets/index.html",
    "title": "PnP Wsl2 cmdlets | PnP.Wsl2",
    "keywords": "PnP Wsl2 cmdlets PnP Wsl2 out of 19 cmdlets which can help you in setting up, configuring, maintaining and using various WSL instances. Each of the cmdlets is documented to aid in learning how to use it. Add Add-PnPWsl2Candy Add-PnPWsl2Instance CheckPoint CheckPoint-PnPWsl2Instance Copy Copy-PnPWsl2Instance Disable Disable-PnPWsl2 Disable-PnPWsl2Telemetry Enable Enable-PnPWsl2 Enable-PnPWsl2Telemetry Export Export-PnPWsl2Instance Get Get-PnPWsl2Candie Get-PnPWsl2Candy Get-PnPWsl2CheckPoint Get-PnPWsl2Configuration Get-PnPWsl2Distribution Get-PnPWsl2Distributions Get-PnPWsl2Help Get-PnPWsl2Instance Get-PnPWsl2Instances Get-PnPWsl2Telemetry Import Import-PnPWsl2Instance Invoke Invoke-PnPWsl2Script Remove Remove-PnPWsl2Instance Restore Restore-PnPWsl2Instance Start Start-PnPWsl2 Stop Stop-PnPWsl2 Stop-PnPWsl2Instance"
  },
  "index.html": {
    "href": "index.html",
    "title": "PnP WSL2 | PnP.Wsl2",
    "keywords": "PnP WSL2 PnP WSL2 is a PowerShell Module providing cmdlets designed to simplify WSL instances management experience by providing streamlined tools and automation features, from backups and checkpoints to effortlessly injecting new components\\features\\tools into instances. WSL is a game changer for developers\\ITs that use Windows as their main OS. If you don't know what WSL is, you should check this link Getting up and running Follow the installation steps to get up and running in minutes. Check the articles section for more information on the features. All cmdlets and Candy have been documented too. Supportability and SLA This library is open-source and community provided library with active community providing support for it. This is not Microsoft provided module so there's no SLA or direct support for this open-source component from Microsoft. Please report any issues using the issues list."
  }
}