exécuter Ansible 2.4.2 dans un environnement hors ligne, en utilisant des kerberos pour s'authentifier,
Via un playbook ansible, quelle est la syntaxe appropriée pour exécuter un script PowerShell avec un utilisateur (domaine) spécifique: DOMAIN\someuser, en mode élevé?
Par mode élevé, je veux dire que dans l'interface Windows, j'exécute le script en me connectant en tant que DOMAIN\someuser, puis en cliquant avec le bouton droit sur un raccourci d'invite cmd ou powershell, en choisissant "exécuter en tant qu'administrateur". Bien sûr, cela ne signifie pas que je peux exécuter le script avec l'utilisateur local: "administrateur".
Ce que je veux exécuter, c'est:
powershell.exe -executionpolicy bypass -noninteractive -nologo -file "myscript.ps1"
Ce que j'ai essayé dans un devient.yml:
- name: sigh
win_command: powershell.exe -executionpolicy bypass -noninteractive -nologo -file "myscript.ps1"
become: yes
become_user: DOMAIN\someuser
become_password: someuserpassword
become_method: runas
Le script s'exécute, avec des erreurs qui s'y rapportent ne s'exécutant pas en élévation. J'ai essayé la même chose avec win_Shell et raw. Essayé sans devenir_utilisateur et devenir_mot de passe (le yml fonctionne avec l'utilisateur et le mot de passe [email protected], donc je ne sais pas vraiment si c'est nécessaire pour devenir).
Je traîne à travers cela et ne trouve aucune référence à une solution via devenir: http://docs.ansible.com/ansible/latest/become.html
Des idées?
J'ai fait ce qui suit pour le faire fonctionner dans mon livre de jeu:
- name: Run ps1 script in privileged mode
hosts: "{{ my_hosts }}"
become_method: runas
vars:
ansible_become_password: mysupersecretpasswrod
tasks:
- win_Shell: '.\myscript.ps1'
become: yes
become_user: Administrator
J'ai déjà utilisé PsExec pour exécuter des tâches en tant qu'utilisateur de domaine Windows spécifique pour les installations de logiciels nécessitant le chargement du profil. Vous pouvez également l'utiliser pour emprunter l'identité d'un utilisateur élevé sur le système distant pour exécuter un script PowerShell.
Ce n'est pas mon premier choix, mais j'ai également eu des problèmes pour travailler sur les hôtes Windows.
- name: Copy PsExec
win_copy:
src: "files/PsExec.exe"
dest: "c:\\temp\\psexec.exe"
force: no
- name: Run powershell as a specific domain user
win_psexec:
command: "powershell.exe -executionpolicy bypass -noninteractive -nologo -file 'myscript.ps1'"
executable: C:\temp\psexec.exe
elevated: yes
nobanner: yes
username: "{{ dom_username }}"
password: "{{ dev_password }}"
interactive: yes