Private/Confirm-PackagePath.ps1
<# ProvisioningTools — Automates creation of Windows provisioning packages. Copyright (C) 2022 David Haymond. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. #> function Confirm-PackagePath { [OutputType($null, [string])] param ( [string] $ComputerName, [string] $Path, [switch] $Force ) if (Test-Path -Path $Path -PathType Leaf) { if ($Force) { New-Item -ItemType Directory -Path $Path -Force } else { throw "A file already exists at the path `"$Path`". (Use the -Force parameter to overwrite files.)" } } $ppkgPath = Join-Path -Path $Path -ChildPath "$ComputerName.ppkg" if (!$Force -and (Test-Path -Path $ppkgPath)) { Write-Error "An item already exists at the path `"$ppkgPath`". (Use the -Force parameter to overwrite files.)" } else { $ppkgPath } } |