Public/Clear-NSConfig.ps1
<#
Copyright 2016 Dominique Broeglin Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. #> function Clear-NSConfig { <# .SYNOPSIS Clear NetScaler configuration. .DESCRIPTION Clear NetScaler configuration and reset it to factory defaults. .EXAMPLE Clear-NSConfig .EXAMPLE Clear-NSConfig -Level Full Fully clears the netscaler configuration. .PARAMETER Level Parameters that defines how much of the configuration is cleared. See http://support.citrix.com/article/CTX112695 for more details. Default value: Basic Possible values: Basic, Extended, Full .PARAMETER Session The NetScaler session object. .PARAMETER Force Suppress confirmation when clearing the configuration. #> [cmdletbinding(SupportsShouldProcess = $true, ConfirmImpact='High')] param( $Session = $Script:Session, [ValidateSet('Basic', 'Extended', 'Full')] [string]$Level = 'Basic', [switch]$Force ) begin { _AssertSessionActive } process { $ip = $($Session.EndPoint) if ($Force -or $PSCmdlet.ShouldProcess($ip, "Clear configuration ($Level level)")) { _InvokeNSRestApi -Session $Session -Method POST -Type nsconfig -Action clear -Payload @{ "level" = $Level } } } } |