Ask Your Question
2

In what way can I utilize $_ within an Ansible PowerShell scriptblock?

asked 2023-05-22 19:27:26 +0000

djk gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2023-05-22 19:43:02 +0000

pufferfish gravatar image

You can utilize $_ within an Ansible PowerShell scriptblock by enclosing the scriptblock in single quotes and embedding the variable using double quotes. For example:

- name: Example task
  hosts: localhost
  gather_facts: no
  tasks:
    - name: Run scriptblock with $_
      win_shell: |
        Invoke-Command -ScriptBlock {'Get-ChildItem | ForEach-Object {Write-Output $_.Name}}'}
      register: output
    - name: Print output
      debug:
        var: output.stdout_lines

In this example, the PowerShell scriptblock contains the command "Get-ChildItem", which retrieves a list of files and directories, and then piped into "ForEach-Object", which outputs the name of each item using the "$_.Name" syntax. The scriptblock is then executed using the "Invoke-Command" cmdlet, and the output is registered to the "output" variable. Finally, the output is printed using the "debug" module.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2023-05-22 19:27:26 +0000

Seen: 13 times

Last updated: May 22 '23