여러 명의 사용자가 사용할 수있는 게임 플레이 북이 있습니다. 게임 플레이 북은 감사 부서에서 만든 배치 스크립트를 실행합니다. 우리는 어떤 식 으로든 스크립트를 수정할 수 없습니다. 스크립트는 서버에 대한 다양한 정보를 가져와 사용자 "Documents"폴더 내의 폴더로 출력합니다. 내 목표는가변 사용자 ID가있는 Windows 디렉토리 경로의 대체 사용자 이름
- 가 보관 다운로드 오래된 감사 데이터
- 실행 배치 스크립트
- 보관 폴더
- 를 제거합니다 심사 팀에서 누구나 실행할 수있는 Ansible의 각본을 만드는 것입니다 폴더
:
---
- name: Remove old audit data
win_file:
path=C:\Users\my-username\Documents\PCI-Audit-Evidence
state=absent
- name: Run audit check
script: ../files/Windows-2008-2012-PCI.cmd
- name: Archive audit folder for download
script: ../files/zipfolder.ps1
- name: Download audit file
fetch:
dest: "audits/{{ inventory_hostname }}/"
src: "C:/Users/my-username/Documents/PCI-Audit-Evidence.zip"
flat: yes
,536,
모든 것이 문제없이 작동합니다. 내 문제는 첫 번째 작업과 마지막 작업의 소스 필드에 내 사용자 이름을 하드 코딩 한 것입니다. 나는 "my-username"이 누구인지에 따라 달라지는 변수가되어야합니다. Windows 환경 변수 "$ env : username"을 사용해 보았지만 작동하지 않습니다. 나는 또한 "{{ansible_user_id}}"를 시도했지만 Windows 2008 서버의 사실을 검토 한 후, 실제로는 실제로 사용자 이름을 사실로 기록하지 않습니다 ..
제가 생각할 수있는 유일한 일은 실행중인 다른 작업을 추가하는 것입니다. 스크립트는 서버에 로그인하고 whoami를 또는 무언가를 실행 한 다음 변수로 등록하지만 지나치게 복잡한 것 같다하기
이 작업을 수행 할 수있는 쉬운 방법이 있나요참고 :.? 난에 사용자 이름이 필요합니다 원격 시스템에서 가져올 수 있습니다.
또한 어떻게 파일을 가져 와서 로컬 이미 존재한다면 기계?
당신은 환경을 사용할 수 있습니다