Server IP : 85.214.239.14 / Your IP : 3.17.181.181 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/module_utils/powershell/ |
Upload File : |
# Copyright (c) 2017 Ansible Project # Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) <# Test-Path/Get-Item cannot find/return info on files that are locked like C:\pagefile.sys. These 2 functions are designed to work with these files and provide similar functionality with the normal cmdlets with as minimal overhead as possible. They work by using Get-ChildItem with a filter and return the result from that. #> Function Test-AnsiblePath { [CmdletBinding()] Param( [Parameter(Mandatory = $true)][string]$Path ) # Replacement for Test-Path try { $file_attributes = [System.IO.File]::GetAttributes($Path) } catch [System.IO.FileNotFoundException], [System.IO.DirectoryNotFoundException] { return $false } catch [NotSupportedException] { # When testing a path like Cert:\LocalMachine\My, System.IO.File will # not work, we just revert back to using Test-Path for this return Test-Path -Path $Path } if ([Int32]$file_attributes -eq -1) { return $false } else { return $true } } Function Get-AnsibleItem { [CmdletBinding()] Param( [Parameter(Mandatory = $true)][string]$Path ) # Replacement for Get-Item try { $file_attributes = [System.IO.File]::GetAttributes($Path) } catch { # if -ErrorAction SilentlyCotinue is set on the cmdlet and we failed to # get the attributes, just return $null, otherwise throw the error if ($ErrorActionPreference -ne "SilentlyContinue") { throw $_ } return $null } if ([Int32]$file_attributes -eq -1) { throw New-Object -TypeName System.Management.Automation.ItemNotFoundException -ArgumentList "Cannot find path '$Path' because it does not exist." } elseif ($file_attributes.HasFlag([System.IO.FileAttributes]::Directory)) { return New-Object -TypeName System.IO.DirectoryInfo -ArgumentList $Path } else { return New-Object -TypeName System.IO.FileInfo -ArgumentList $Path } } Export-ModuleMember -Function Test-AnsiblePath, Get-AnsibleItem