ฉันต้องการสร้าง playbook ที่:
- ตรวจสอบว่ามีการติดตั้ง application1 หรือไม่ - หากล้มเหลว ให้ออกจากโฮสต์นี้และไปยังโฮสต์ถัดไป
- ตรวจสอบว่าติดตั้ง application2 หรือไม่ - หากล้มเหลว ให้ออก & ย้ายไปยังโฮสต์ถัดไป
- หยุดให้บริการ application2
- ถอนการติดตั้งแอปพลิเคชัน1 - ตรวจสอบให้แน่ใจว่าบริการแอปพลิเคชัน2 หยุดทำงานก่อนที่จะติดตั้งแอปพลิเคชัน3 - ติดตั้งแอปพลิเคชัน3 จากนั้น
- เริ่มบริการ application2
#################################################
- Playbook ระบุว่ามีการติดตั้งแอปพลิเคชันหรือไม่
- งาน
- ชื่อ: ตรวจสอบว่ามีการติดตั้ง application1 หรือไม่ ถ้าใช่ ดำเนินการต่อ
win_shell: |
$application1 = ("","Wow6432Node: |ForEach-Object {Get-ChildItem HKLM:/SOFTWARE\$_\Microsoft\hostname }}"Windows\CurrentVersion\Uninstall\}
select@(n=Name;e={$.getvalue("displayname")}} โดยที่ {$. -like "*application1*"}).name.length -gt 0
with_items:"{{ ชื่อโฮสต์ }}"
เปลี่ยนแปลง_เมื่อ: เท็จ
เพิกเฉยต่อข้อผิดพลาด: จริง
ลงทะเบียน: เอาท์พุท
win_shell: echo output.stdout
ออกจากลอจิก
- ชื่อ: ตรวจสอบว่ามีการติดตั้ง application2 หรือไม่ ถ้าใช่ ดำเนินการต่อ
win_shell: |
$application1 = ("","Wow6432Node: |ForEach-Object {Get-ChildItem HKLM:/SOFTWARE\$_\Microsoft\hostname }}"Windows\CurrentVersion\Uninstall\}
select@(n=Name;e={$.getvalue("displayname")}} โดยที่ {$. -like "*application2*"}).name.length -gt 0
with_items:"{{ ชื่อโฮสต์ }}"
เปลี่ยนแปลง_เมื่อ: เท็จ
เพิกเฉยต่อข้อผิดพลาด: จริง
ลงทะเบียน: เอาท์พุท2
win_shell: echo output2.stdout
ออกจากลอจิก
#################################################
- ชื่อ: หยุดบริการ application2
win_shell: หยุดกระบวนการ - ชื่อ "Application2*" - บังคับ
with_items"{{ ชื่อโฮสต์" }}
เปลี่ยนแปลง_เมื่อ: เท็จ
เพิกเฉยต่อข้อผิดพลาด: จริง
ลงทะเบียน: ติดตั้ง
- แก้ปัญหา: msg="Stop Application2 Services"
#################################################
- ชื่อ: ถอนการติดตั้งแอปพลิเคชัน1
win_command: C:\Windows\System32\msiexec.exe /i C:\Program Files (x86)\Application1\uninstall.exe /qn /norestart
ลงทะเบียน: application1uninstall
- ชื่อ: การติดตั้ง Application3 โดยใช้ win_command
win_command: Application3_installer.exe
ลงทะเบียน: application3install
#################################################
- ชื่อ: การเริ่มบริการ Application2
win_service:
ชื่อ: Application2
สถานะ: เริ่มต้น