Hi Atul

Thank you for this guidance. A colleague found that it's possible to set 
the password of a Windows system's 'administrator' account where the 
account is set for change-on-first-logon by taking advantage of the 
'customization' facility in 'vmware_guest':

- name: "Set a new administrator account password and power on the VM"
  community.vmware.vmware_guest:
    hostname: "{{ management_vcenter_ip }}"
    username: "{{ management_vcenter_user }}"
    password: "{{ management_vcenter_password }}"
    datacenter: "{{ datacenter }}"
    cluster: "{{ cluster }}"
    name: "{{ vm_name }}"
    state: present
    networks:
    - name: "{{ vm_network }}"
    validate_certs: False
    wait_for_customization: true
    wait_for_ip_address: true
    customization:
      password: "{{ vm_password }}"
      existing_vm: True
  delegate_to: localhost

For setting the password of the 'root' account on a Linux system where the 
password was set for change-on-first-login, this logic worked:

- name: "Set root password"
  delegate_to: localhost
  ansible.builtin.expect:
    echo: true
    command: "ssh -o UserKnownHostsFile=/dev/null -o 
StrictHostKeyChecking=no root@{{ vm_ip }} echo 'Success'"
    responses:
        "Password: ": "{{ vm_original_password }}"
        "Current password: ": "{{ vm_original_password }}"
        "New password: ": "{{ vm_password }}"
        "Retype new password: ": "{{ vm_password }}"

On Saturday, August 19, 2023 at 2:06:04 PM UTC-4 Atul Nasir wrote:

> The module you're using, community.vmware.vmware_guest, is not designed 
> to directly change the password of an existing guest VM. Instead, it's 
> intended for tasks like deploying and managing virtual machines. Changing 
> the password of an existing guest VM requires interacting with the guest 
> OS, which is outside the scope of the vmware_guest module.
> ---
> - name: Change Administrator Password
>   hosts: your_windows_vm
>   tasks:
>     - name: Run PowerShell script to change password
>       win_shell: |
>         $username = "Administrator"
>         $newPassword = "your_new_password"
>         $securePassword = ConvertTo-SecureString $newPassword -AsPlainText 
> -Force
>         Set-LocalUser -Name $username -Password $securePassword
>       register: password_change_result
>       ignore_errors: yes  # Ignore errors since the VM might be rebooted 
> after changing password
>
>     - name: Display output
>       debug:
>         var: password_change_result.stdout_lines
>
> On Monday, July 17, 2023 at 6:40:03 AM UTC-7 Terry Lemons wrote:
>
>> Hi
>>
>> I want to use the community.vmware.vmware_guest module to set the 
>> 'administrator' password of a deployed Windows VM.
>>
>> My environment:
>>
>> SLES 15 SP5 Docker image
>>
>> python version = 3.11.3
>>
>> Ansible Community Package 8.1.0, which includes:
>>
>>     ansible [core 2.15.1]
>>
>>     community.vmware              3.7.0
>>
>>
>> Here's my coding of the module:
>>
>> - name: "Set new administrator account password, then power on the VM"
>>
>>   community.vmware.vmware_guest:
>>
>>     hostname: "{{ management_vcenter_ip }}"
>>
>>     username: "{{ management_vcenter_user }}"
>>
>>     password: "{{ management_vcenter_password }}"
>>
>>     name: "{{ vm_name }}"
>>
>>     state: poweredon
>>
>>     validate_certs: False
>>
>>     wait_for_customization: true
>>
>>     customization:
>>
>>       password: "{{ vm_password }}"
>>
>>   delegate_to: localhost
>>
>>
>>
>> I know that the module is somewhat working correctly, in that the Windows 
>> VM is powered on when this code is executed. But the 'administrator' 
>> password is not being changed/set.
>>
>> Here is the execution output:
>>
>> TASK [deploy-windowssql : Set new administrator account password, then 
>> power on the VM] 
>> *****************************************************************************************************
>>
>> task path: 
>> /root/ecdm-ansible/ansible/roles/deploy-windowssql/tasks/main.yml:37
>>
>> <localhost> ESTABLISH LOCAL CONNECTION FOR USER: root
>>
>> <localhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
>>
>> <localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo 
>> /root/.ansible/tmp `"&& mkdir "` echo 
>> /root/.ansible/tmp/ansible-tmp-1689179340.0749025-2228-173707777433521 `" 
>> && echo ansible-tmp-1689179340.0749025-2228-173707777433521="` echo 
>> /root/.ansible/tmp/ansible-tmp-1689179340.0749025-2228-173707777433521 `" ) 
>> && sleep 0'
>>
>> Using module file 
>> /root/.local/lib/python3.11/site-packages/ansible_collections/community/vmware/plugins/modules/vmware_guest.py
>>
>> <localhost> PUT /root/.ansible/tmp/ansible-local-2050puzm93uc/tmp8zsqyt_a 
>> TO 
>> /root/.ansible/tmp/ansible-tmp-1689179340.0749025-2228-173707777433521/AnsiballZ_vmware_guest.py
>>
>> <localhost> EXEC /bin/sh -c 'chmod u+x 
>> /root/.ansible/tmp/ansible-tmp-1689179340.0749025-2228-173707777433521/ 
>> /root/.ansible/tmp/ansible-tmp-1689179340.0749025-2228-173707777433521/AnsiballZ_vmware_guest.py
>>  
>> && sleep 0'
>>
>> <localhost> EXEC /bin/sh -c '/usr/bin/python 
>> /root/.ansible/tmp/ansible-tmp-1689179340.0749025-2228-173707777433521/AnsiballZ_vmware_guest.py
>>  
>> && sleep 0'
>>
>> <localhost> EXEC /bin/sh -c 'rm -f -r 
>> /root/.ansible/tmp/ansible-tmp-1689179340.0749025-2228-173707777433521/ > 
>> /dev/null 2>&1 && sleep 0'
>>
>> changed: [ldpdd192.xxx.xxx -> localhost] => {
>>
>>     "changed": true,
>>
>>     "instance": {
>>
>>         "advanced_settings": {
>>
>>             "disk.EnableUUID": "TRUE",
>>
>>             "ethernet0.pciSlotNumber": "192",
>>
>>             "guestInfo.detailed.data": "architecture='X86' bitness='64' 
>> buildNumber='20348' distroVersion='Windows' distroAddlVersion='10.0' 
>> familyName='Windows' kernelVersion='20348.1726' prettyName='Windows Server 
>> 2022, 64-bit (Build 20348.1726)'",
>>
>>             "guestinfo.ovfEnv": "",
>>
>>             "hpet0.present": "TRUE",
>>
>>             "migrate.hostLog": "ldpdd192-4a20f22e.hlog",
>>
>>             "migrate.hostLogState": "none",
>>
>>             "migrate.migrationId": "5923936046434283652",
>>
>>             "monitor.phys_bits_used": "43",
>>
>>             "numa.autosize.cookie": "40001",
>>
>>             "numa.autosize.vcpu.maxPerVirtualNode": "4",
>>
>>             "nvram": "ldpdd192.nvram",
>>
>>             "pciBridge0.pciSlotNumber": "17",
>>
>>             "pciBridge0.present": "TRUE",
>>
>>             "pciBridge4.functions": "8",
>>
>>             "pciBridge4.pciSlotNumber": "21",
>>
>>             "pciBridge4.present": "TRUE",
>>
>>             "pciBridge4.virtualDev": "pcieRootPort",
>>
>>             "pciBridge5.functions": "8",
>>
>>             "pciBridge5.pciSlotNumber": "22",
>>
>>             "pciBridge5.present": "TRUE",
>>
>>             "pciBridge5.virtualDev": "pcieRootPort",
>>
>>             "pciBridge6.functions": "8",
>>
>>             "pciBridge6.pciSlotNumber": "23",
>>
>>             "pciBridge6.present": "TRUE",
>>
>>             "pciBridge6.virtualDev": "pcieRootPort",
>>
>>             "pciBridge7.functions": "8",
>>
>>             "pciBridge7.pciSlotNumber": "24",
>>
>>             "pciBridge7.present": "TRUE",
>>
>>             "pciBridge7.virtualDev": "pcieRootPort",
>>
>>             "sched.swap.derivedName": 
>> "/vmfs/volumes/5ea09c34-9c2c5469-e8f8-1866dafabeba/ldpdd192/ldpdd192-cc9a4b50.vswp",
>>
>>             "scsi0.pciSlotNumber": "160",
>>
>>             "scsi0.sasWWID": "50 05 05 62 de e1 b9 20",
>>
>>             "scsi0:0.redo": "",
>>
>>             "scsi1.pciSlotNumber": "224",
>>
>>             "scsi1.sasWWID": "50 05 05 62 de e1 b8 20",
>>
>>             "softPowerOff": "FALSE",
>>
>>             "svga.guestBackedPrimaryAware": "TRUE",
>>
>>             "svga.present": "TRUE",
>>
>>             "viv.moid": 
>> "8764ba7d-9522-4857-825a-47e74fc5fc94:vm-19798:HeJ1jJrEyPdgB+iQU1Un7tqEDwpEUgYLRmMVZdar5TE=",
>>
>>             "vm.genid": "6628295188012277178",
>>
>>             "vm.genidX": "-8723771621121363354",
>>
>>             "vmotion.checkpointFBSize": "4194304",
>>
>>             "vmotion.checkpointSVGAPrimarySize": "4194304",
>>
>>             "vmware.tools.internalversion": "12352",
>>
>>             "vmware.tools.requiredversion": "12320"
>>
>>         },
>>
>>         "annotation": "xxx",
>>
>>         "current_snapshot": null,
>>
>>         "customvalues": {},
>>
>>         "guest_consolidation_needed": false,
>>
>>         "guest_question": null,
>>
>>         "guest_tools_status": "guestToolsNotRunning",
>>
>>         "guest_tools_version": "12352",
>>
>>         "hw_cluster": "DpcCluster",
>>
>>         "hw_cores_per_socket": 1,
>>
>>         "hw_datastores": [
>>
>>             "dpc_ride_6"
>>
>>         ],
>>
>>         "hw_esxi_host": "ldpdc023.xxx.xxx",
>>
>>         "hw_eth0": {
>>
>>             "addresstype": "assigned",
>>
>>             "ipaddresses": null,
>>
>>             "label": "Network adapter 1",
>>
>>             "macaddress": "00:50:56:87:7d:7b",
>>
>>             "macaddress_dash": "00-50-56-87-7d-7b",
>>
>>             "portgroup_key": "dvportgroup-1087",
>>
>>             "portgroup_portkey": "49",
>>
>>             "summary": "DVSwitch: 50 07 d6 62 2a 0e d8 f5-0e d0 df 88 ea 
>> d0 31 ce"
>>
>>         },
>>
>>         "hw_files": [
>>
>>             "[dpc_ride_6] ldpdd192/ldpdd192.vmx",
>>
>>             "[dpc_ride_6] ldpdd192/ldpdd192.vmxf",
>>
>>             "[dpc_ride_6] ldpdd192/ldpdd192.nvram",
>>
>>             "[dpc_ride_6] ldpdd192/ldpdd192.vmsd",
>>
>>             "[dpc_ride_6] ldpdd192/vmware-3.log",
>>
>>             "[dpc_ride_6] ldpdd192/vmware-2.log",
>>
>>             "[dpc_ride_6] ldpdd192/vmware-1.log",
>>
>>             "[dpc_ride_6] ldpdd192/vmware.log",
>>
>>             "[dpc_ride_6] ldpdd192/vmware-4.log",
>>
>>             "[dpc_ride_6] ldpdd192/ldpdd192.vmdk"
>>
>>         ],
>>
>>         "hw_folder": "/xxx/vm",
>>
>>         "hw_guest_full_name": null,
>>
>>         "hw_guest_ha_state": false,
>>
>>         "hw_guest_id": null,
>>
>>         "hw_interfaces": [
>>
>>             "eth0"
>>
>>         ],
>>
>>         "hw_is_template": false,
>>
>>         "hw_memtotal_mb": 6144,
>>
>>         "hw_name": "ldpdd192",
>>
>>         "hw_power_status": "poweredOn",
>>
>>         "hw_processor_count": 4,
>>
>>         "hw_product_uuid": "42070532-dee1-b925-e5c2-5be4873fefda",
>>
>>         "hw_version": "vmx-13",
>>
>>         "instance_uuid": "5007de96-fe50-cd63-bcf6-4fc3f5ea7494",
>>
>>         "ipv4": null,
>>
>>         "ipv6": null,
>>
>>         "module_hw": true,
>>
>>         "moid": "vm-19798",
>>
>>         "snapshots": [],
>>
>>         "tpm_info": {
>>
>>             "provider_id": null,
>>
>>             "tpm_present": false
>>
>>         },
>>
>>         "vimref": "vim.VirtualMachine:vm-19798",
>>
>>         "vnc": {}
>>
>>     },
>>
>>     "invocation": {
>>
>>         "module_args": {
>>
>>             "advanced_settings": [],
>>
>>             "annotation": null,
>>
>>             "cdrom": [],
>>
>>             "cluster": null,
>>
>>             "convert": null,
>>
>>             "customization": {
>>
>>                 "autologon": null,
>>
>>                 "autologoncount": null,
>>
>>                 "dns_servers": null,
>>
>>                 "dns_suffix": null,
>>
>>                 "domain": null,
>>
>>                 "domainadmin": null,
>>
>>                 "domainadminpassword": null,
>>
>>                 "existing_vm": null,
>>
>>                 "fullname": null,
>>
>>                 "hostname": null,
>>
>>                 "hwclockUTC": null,
>>
>>                 "joindomain": null,
>>
>>                 "joinworkgroup": null,
>>
>>                 "orgname": null,
>>
>>                 "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
>>
>>                 "productid": null,
>>
>>                 "runonce": null,
>>
>>                 "script_text": null,
>>
>>                 "timezone": null
>>
>>             },
>>
>>             "customization_spec": null,
>>
>>             "customvalues": [],
>>
>>             "datacenter": "ha-datacenter",
>>
>>             "datastore": null,
>>
>>             "delete_from_inventory": false,
>>
>>             "disk": [],
>>
>>             "esxi_hostname": null,
>>
>>             "folder": null,
>>
>>             "force": false,
>>
>>             "guest_id": null,
>>
>>             "hardware": {
>>
>>                 "boot_firmware": null,
>>
>>                 "cpu_limit": null,
>>
>>                 "cpu_reservation": null,
>>
>>                 "cpu_shares": null,
>>
>>                 "cpu_shares_level": null,
>>
>>                 "hotadd_cpu": null,
>>
>>                 "hotadd_memory": null,
>>
>>                 "hotremove_cpu": null,
>>
>>                 "iommu": null,
>>
>>                 "max_connections": null,
>>
>>                 "mem_limit": null,
>>
>>                 "mem_reservation": null,
>>
>>                 "mem_shares": null,
>>
>>                 "mem_shares_level": null,
>>
>>                 "memory_mb": null,
>>
>>                 "memory_reservation_lock": null,
>>
>>                 "nested_virt": null,
>>
>>                 "num_cpu_cores_per_socket": null,
>>
>>                 "num_cpus": null,
>>
>>                 "scsi": null,
>>
>>                 "secure_boot": null,
>>
>>                 "version": null,
>>
>>                 "virt_based_security": null,
>>
>>                 "vpmc_enabled": null
>>
>>             },
>>
>>             "hostname": "ldpdc211.xxx.xxx",
>>
>>             "is_template": false,
>>
>>             "linked_clone": false,
>>
>>             "name": "ldpdd192",
>>
>>             "name_match": "first",
>>
>>             "networks": [],
>>
>>             "nvdimm": {
>>
>>                 "label": null,
>>
>>                 "size_mb": 1024,
>>
>>                 "state": null
>>
>>             },
>>
>>             "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
>>
>>             "port": 443,
>>
>>             "proxy_host": null,
>>
>>             "proxy_port": null,
>>
>>             "resource_pool": null,
>>
>>             "snapshot_src": null,
>>
>>             "state": "poweredon",
>>
>>             "state_change_timeout": 0,
>>
>>             "template": null,
>>
>>             "use_instance_uuid": false,
>>
>>             "username": [email protected],
>>
>>             "uuid": null,
>>
>>             "validate_certs": false,
>>
>>             "vapp_properties": [],
>>
>>             "wait_for_customization": true,
>>
>>             "wait_for_customization_timeout": 3600,
>>
>>             "wait_for_ip_address": false,
>>
>>             "wait_for_ip_address_timeout": 300
>>
>>         }
>>
>>     }
>>
>> }
>>
>>
>>
>>
>> I looked in 
>> https://github.com/ansible-collections/community.vmware/issues?page=3&q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+vmware_guest,
>>  
>> and didn't see this issue.
>>
>> Thoughts, please.
>>
>> Thanks
>>
>> tl
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/35611b94-9258-4304-aaa2-a9da4eaa236fn%40googlegroups.com.

Reply via email to