I'm testing Ansible to see if I can successfully control various aspects of Windows management. I'm getting stuck on using variables and conditionals and can't interpret the error information that comes back.
I tried to run a playbook against a test machine where I used some conditionals and loop statements as in the example below.
---
hosts: myhost.domain.local
tasks:
- name: get all connected network adapters
win_shell: |
$adapters = @(Get-NetAdapter)
foreach($item in $adapters){if($item.status -eq "Up"){$item}}
So above I first assign a variable to a list of all network adapters that can be found on my system and then I wan't to extract only those that are actually up and connected. I'm getting some cryptic response where I can find syntax errors so the above code must be somehow misinterpreted. I'll probably would want to expand this code to gather more details but since I'm stuck just with the basics I can't move forward. BTW not sure why the | pipe character after win_shell. Just seen it in a couple of simple examples on the web. Couldn't find any good examples and there was no answer in other forum.
--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/3b463339-bcf9-4dfc-aed3-669f9c060ee2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
win_shell: Get-NetAdapter | Where-Object {$_.Status -eq "up"} | Out-String -Width 4096Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
Ethernet vmxnet3 Ethernet Adapter 12 Up 00-50-56-00-00-00 10 Gbps
win_shell: Get-NetAdapter | Select-Object Name,Status,MacAddress,LinkSpeed | Where-Object {$_.Status -eq "up"} | Out-String -Width 4096