Puncte:2

Cum să setați rezoluția ecranului VMWare VM pe Windows folosind Ansible

drapel be

Încerc să implementez un vSphere Windows VM prin Ansible și trebuie să setez o anumită rezoluție a ecranului (1024x768). Alergare VMWareResolutionSet.exe funcționează local în PowerShell cu următoarea comandă (the , trebuie să fie scapat cu un ` în Powershell pentru a evita ca argumentele să fie o listă, iar & este necesar pentru a rula comenzi cu spații în căile lor):

& „C:\Program Files\VMWare\VMware Tools\VMwareResolutionSet.exe” 0 1 `, 0 0 1024 768

Cu toate acestea, rulați această comandă de la distanță cu Ansible's win_command produce doar un cod de retur de 1 fără alt mesaj de eroare. Același comportament apare atunci când rulați comanda direct cu pywinrm sau la invocarea PowerShell ca subshell. Din câte îmi pot da seama, problema constă în faptul că aceasta nu este o instanță interactivă PowerShell. Cu toate acestea, setarea deveni: adevărat și deveni_metoda: runas Nu a mers.

Cum pot seta rezoluția ecranului VM prin Ansible?

Puncte:1
drapel be

În cele din urmă, nu am reușit să fac acest lucru să ruleze de la distanță prin PowerShell, dar eu a fost capabil să ruleze aceasta ca o sarcină programată care rulează imediat după înregistrare:

- nume: Asigurați-vă că utilizatorul poate executa sarcini programate
  win_user_right:
    nume: „SeBatchLogonRight”
    actiune: adauga
    utilizatori:
      - „{{ ansible_user }}”

# Ștergerea și reînregistrarea va forța sarcina să ruleze de fiecare dată
- nume: Eliminați sarcina de rezoluție a ecranului, dacă este prezentă
  win_scheduled_task:
    nume: SetScreenResolution
    stare: absent

- nume: creați o sarcină pentru a seta rezoluția ecranului
  win_scheduled_task:
    nume: SetScreenResolution
    descriere: setați rezoluția ecranului
    actiuni:
      - cale: C:\Program Files\VMWare\VMware Tools\VMwareResolutionSet.exe
        argumente: "0 1 , 0 0 1024 768"
    declanșează:
      - tip: înregistrare
    stare: prezent
    activat: adevărat

- nume: așteptați finalizarea sarcinii programate
  win_scheduled_task_stat:
    nume: SetScreenResolution
  înregistrare: task_stat
  până când: (task_stat.state este definit și task_stat.state.status != "TASK_STATE_RUNNING") sau (task_stat.task_exists == False)
  reîncercări: 5

puteți configura această sarcină pentru a se șterge singură folosind instrucțiunile găsite în https://stackoverflow.com/questions/64006824/ansible-win-scheduled-task-how-to-start-a-task-immediately. Încă bănuiesc că există o modalitate de a face asta win_command cu setarea potrivită, dar nu am reușit să-mi dau seama.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.