function Install-ArdisUtilities {
+ [OutputType([System.Void])]
+ [CmdletBinding()]
+ param(
+ [Parameter()]
+ [Switch]$Persist
+ )
+
begin {
# Create a temporary working folder
$tempFolder = Join-Path $Env:Temp $(New-Guid)
$zipFile = Join-Path $tempFolder /ArdisUtilities.zip
Invoke-WebRequest 'https://github.com/ardislu/ArdisUtilities/archive/refs/heads/main.zip' -OutFile $zipFile
Expand-Archive $zipFile $tempFolder
+ $module = Join-Path $tempFolder 'ArdisUtilities-main/ArdisUtilities'
# Import the module from the extraction
- Import-Module (Join-Path $tempFolder /ArdisUtilities-main/ArdisUtilities)
+ Import-Module $module
+
+ if ($Persist) {
+ $destination = "$HOME/Documents/PowerShell/Modules" # Default path for persistent PowerShell modules
+ if (Test-Path -LiteralPath "$destination/ArdisUtilities") {
+ Remove-Item "$destination/ArdisUtilities" -Force -Recurse
+ }
+ Copy-Item -Path $module -Destination $destination -Recurse
+ }
}
clean {
}
}
-Install-ArdisUtilities
+Install-ArdisUtilities @args