Remove-WebJEACommand.ps1
function Remove-WebJEACommand { <# .SYNOPSIS Removes a Command from the available set. .DESCRIPTION If the CommandId specified is found, it is removed from the available set in the configuration. .EXAMPLE Remove-WebJEACommand -CommandId "SomeID" .PARAMETER CommandId What CommandId you want to remove. .NOTES Version: 1.0 Author: Mark Domansky Creation Date: 2018-01-13 Purpose/Change: Initial release #> #requires -version 3 #r#equires -pssnapin <snapin> -version X.x #r#equires -modules {<module-name>} #r#equires -shellid <shellid> #r#equires -runasadministrator [CmdletBinding(SupportsShouldProcess=$True,ConfirmImpact='Low')] param ( [Parameter(Position=0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName, HelpMessage='What CommandId do you want to remove?')] [ValidateNotNullOrEmpty()] [Alias('Id')] [string]$CommandId ) #/param begin { #do pre script checks, etc $WJConfig = Get-WJPrivateData -key "WJConfig" } #/begin process { $cmds = $WJConfig.commands $foundcmds = $cmds | where-object -FilterScript {$_.id -eq $CommandId} $newcmds = $cmds | where-object -FilterScript {$_.id -ne $CommandId} [pscustomobject[]]$WJConfig.commands = $newcmds if ($CommandId -eq $WJConfig.defaultcommandid) {Write-Warning "Default Command ID Removed."} if ($foundcmds -eq $null) {write-warning "The command completed successfully, but nothing was modified."} } #/process end { Set-WJPrivateData -key "WJConfig" -value $WJConfig } #/end } #/function |