Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 18.118.140.96
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/ansible_collections/community/windows/plugins/modules/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /lib/python3/dist-packages/ansible_collections/community/windows/plugins/modules/win_route.ps1
#!powershell

# Copyright: (c) 2016, Daniele Lazzari <lazzari@mailup.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

#Requires -Module Ansible.ModuleUtils.Legacy

# win_route (Add or remove a network static route)

$params = Parse-Args $args -supports_check_mode $true

$check_mode = Get-AnsibleParam -obj $params -name "_ansible_check_mode" -default $false
$dest = Get-AnsibleParam -obj $params -name "destination" -type "str" -failifempty $true
$gateway = Get-AnsibleParam -obj $params -name "gateway" -type "str"
$metric = Get-AnsibleParam -obj $params -name "metric" -type "int" -default 1
$state = Get-AnsibleParam -obj $params -name "state" -type "str" -default "present" -validateSet "present", "absent"
$result = @{
    "changed" = $false
    "output" = ""
}

Function Add-Route {
    Param (
        [Parameter(Mandatory = $true)]
        [string]$Destination,
        [Parameter(Mandatory = $true)]
        [string]$Gateway,
        [Parameter(Mandatory = $true)]
        [int]$Metric,
        [Parameter(Mandatory = $true)]
        [bool]$CheckMode
    )


    $IpAddress = $Destination.split('/')[0]

    # Check if the static route is already present
    $Route = Get-CimInstance win32_ip4PersistedrouteTable -Filter "Destination = '$($IpAddress)'"
    if (!($Route)) {
        try {
            # Find Interface Index
            $InterfaceIndex = Find-NetRoute -RemoteIPAddress $Gateway | Select-Object -First 1 -ExpandProperty InterfaceIndex

            # Add network route
            $routeParams = @{
                DestinationPrefix = $Destination
                NextHop = $Gateway
                InterfaceIndex = $InterfaceIndex
                RouteMetric = $Metric
                ErrorAction = "Stop"
                WhatIf = $CheckMode
            }
            New-NetRoute @routeParams | Out-Null
            $result.changed = $true
            $result.output = "Route added"

        }
        catch {
            $ErrorMessage = $_.Exception.Message
            Fail-Json $result $ErrorMessage
        }
    }
    else {
        $result.output = "Static route already exists"
    }

}

Function Remove-Route {
    Param (
        [Parameter(Mandatory = $true)]
        [string]$Destination,
        [bool]$CheckMode
    )
    $IpAddress = $Destination.split('/')[0]
    $Route = Get-CimInstance win32_ip4PersistedrouteTable -Filter "Destination = '$($IpAddress)'"
    if ($Route) {
        try {

            Remove-NetRoute -DestinationPrefix $Destination -Confirm:$false -ErrorAction Stop -WhatIf:$CheckMode
            $result.changed = $true
            $result.output = "Route removed"
        }
        catch {
            $ErrorMessage = $_.Exception.Message
            Fail-Json $result $ErrorMessage
        }
    }
    else {
        $result.output = "No route to remove"
    }

}

# Set gateway if null
if (!($gateway)) {
    $gateway = "0.0.0.0"
}


if ($state -eq "present") {

    Add-Route -Destination $dest -Gateway $gateway -Metric $metric -CheckMode $check_mode

}
else {

    Remove-Route -Destination $dest -CheckMode $check_mode

}

Exit-Json $result

Anon7 - 2022
AnonSec Team