Ansible 2.8.7 API 사용 이상 4:playbook 실행 powershell 스 크 립 트 반환 값"\r\n",원인 분석 및 해결

3279 단어 Ansible2.8.7
Q1:Ansible 2.8.7 과 2.7.9 플레이 북 을 통 해 powershell 스 크 립 트 를 실행 하여 값 문 제 를 되 돌려 줍 니 다.시스템 환경 이 같 습 니 다.
Q2:getw_sysnfo.ps1 에 내 장 된 명령 을 직접 씁 니 다.예 를 들 어 ipconfig 는 정상적으로 출력 을 되 돌 릴 수 있 습 니 다.원인 은 알려 지지 않 았 습 니 다.
#1. get_w_sysinfo.ps1
get-wmiobject win32_computersystem |Select-Object Name,Domain,SystemType,Model

#2.get_w_sysinfo.yml
- name: test script module
  hosts: winclient
  gather_facts: F
  tasks:
    - name: run test script
      script: /etc/ansible/scripts/windows/get_w_sysinfo.ps1
      register: ps_out
    - name: show
      debug: var=ps_out.stdout verbosity=0

\#3.실행
[root@CENTOS768-1810 ~]#  ansible-playbook playbook/get_w_sysinfo.yml

\#4.Ansible 2.8.7 실행 결과
[root@CENTOS768-1810 ~]# ansible-playbook playbook/get_w_sysinfo.yml -vvvvv

    PLAY [test script module] *********************************************************************************************************************************************************************
    
    TASK [run test script] ************************************************************************************************************************************************************************
    changed: [BJ-s110.xx.xx.com]
    
    TASK [show] ***********************************************************************************************************************************************************************************
    ok: [BJ-s110.xx.xx.com] => {
        "ps_out.stdout": "\r
" } PLAY RECAP ************************************************************************************************************************************************************************************ BJ-s110.xx.xx.com : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

\#5.Ansible 2.7.9 실행 결과
[root@CENTOS768-1810 ~]#  ansible-playbook playbook/get_w_sysinfo.yml -vvvvv

    PLAY [test script module] ******************************************************
    
    TASK [run test script] *********************************************************
    changed: [BJ-s110.xx.xx.com]
    
    TASK [show] ********************************************************************
    ok: [BG-S110.xx.xx.com] => {
        "ps_out.stdout": "\r
\r
Name : BG-S110\r
Domain : xx.xx.com\r
SystemType : x64-based PC\r
Model : To be filled by O.E.M.\r
HypervisorPresent : True\r
InstallDate : \r
NumberOfLogicalProcessors : 2\r
NumberOfProcessors : 1\r
ProductID : \r
\r
\r
\r
" } PLAY RECAP ********************************************************************* BJ-s110.xx.xx.com : ok=2 changed=1 unreachable=0 failed=0

\#6.Ansible 2.8.7 해결 방법
#      .ps1  ,     JSON  ,      :
#!powershell
$result = get-wmiobject win32_computersystem |Select-Object Name,Domain,UserName,SystemType,Model,HypervisorPresent,InstallDate
$result | ConvertTo-Json  -Depth 4

좋은 웹페이지 즐겨찾기