mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 13:22:48 +00:00
win_shell: Implement option 'profile', allowing the user to control p… (#54299)
* win_shell: Implement option 'profile', allowing the user to control powershell profile sourcing before running a command * Set version_added to 2.8 * Make sure profile directory exists before writing profile file * Changes to make tests immutable and align with ps args
This commit is contained in:
@@ -47,6 +47,7 @@ $executable = Get-AnsibleParam -obj $params -name "executable" -type "path"
|
||||
$creates = Get-AnsibleParam -obj $params -name "creates" -type "path"
|
||||
$removes = Get-AnsibleParam -obj $params -name "removes" -type "path"
|
||||
$stdin = Get-AnsibleParam -obj $params -name "stdin" -type "str"
|
||||
$no_profile = Get-AnsibleParam -obj $params -name "no_profile" -type "bool" -default $false
|
||||
|
||||
$raw_command_line = $raw_command_line.Trim()
|
||||
|
||||
@@ -78,6 +79,10 @@ If(-not $executable -or $executable -eq "powershell") {
|
||||
} else {
|
||||
$exec_args = "-noninteractive -encodedcommand $encoded_command"
|
||||
}
|
||||
|
||||
if ($no_profile) {
|
||||
$exec_args = "-noprofile $exec_args"
|
||||
}
|
||||
}
|
||||
Else {
|
||||
# FUTURE: support arg translation from executable (or executable_args?) to process arguments for arbitrary interpreter?
|
||||
|
||||
@@ -47,6 +47,13 @@ options:
|
||||
- Set the stdin of the command directly to the specified value.
|
||||
type: str
|
||||
version_added: '2.5'
|
||||
no_profile:
|
||||
description:
|
||||
- Do not load the user profile before running a command. This is only valid
|
||||
when using PowerShell as the executable.
|
||||
type: bool
|
||||
default: no
|
||||
version_added: '2.8'
|
||||
notes:
|
||||
- If you want to run an executable securely and predictably, it may be
|
||||
better to use the M(win_command) module instead. Best practices when writing
|
||||
|
||||
Reference in New Issue
Block a user