Public/Remove-ADSISiteSubnet.ps1
function Remove-ADSISiteSubnet { <# .SYNOPSIS function to remove a Subnet .DESCRIPTION function to remove a Subnet .PARAMETER SubnetName Specifies the Subnet Name .PARAMETER Credential Specifies the alternative credential to use. By default it will use the current user windows credentials. .PARAMETER ForestName Specifies the alternative Forest where the user should be created By default it will use the current Forest. .EXAMPLE Remove-ADSISiteSubnet -SubnetName '192.168.8.0/24' .NOTES Francois-Xavier Cat lazywinadmin.com @lazywinadm github.com/lazywinadmin #> [CmdletBinding(SupportsShouldProcess = $true)] param ( [Parameter(Mandatory = $true)] [String]$SubnetName, [Alias("RunAs")] [System.Management.Automation.PSCredential] [System.Management.Automation.Credential()] $Credential = [System.Management.Automation.PSCredential]::Empty, [String]$ForestName ) BEGIN { Add-Type -AssemblyName System.DirectoryServices.AccountManagement # Create Context splatting $ContextSplatting = @{ } IF ($PSBoundParameters['Credential']) { $ContextSplatting.Credential = $Credential } IF ($PSBoundParameters['ForestName']) { $ContextSplatting.ForestName = $ForestName } } PROCESS { TRY { IF ($PSCmdlet.ShouldProcess($SubnetName, "Remove Subnet")) { (Get-ADSISiteSubnet -SubnetName $SubnetName @ContextSplatting).Delete() } } CATCH { Write-Error $Error[0] break } } END { } } |