1. Разрешаем выполнение сценариев в powershell
Код: Выделить всё
Set-ExecutionPolicy -ExecutionPolicy Bypass -ForceКод: Выделить всё
winrm enumerate winrm/config/ListenerКод: Выделить всё
New-SelfSignedCertificate `
-DnsName "rdp02.test.local" `
-KeyAlgorithm RSA `
-KeyLength 2048 `
-CertStoreLocation "Cert:\LocalMachine\My" `
-NotAfter (Get-Date).AddYears(10)Записываем Thumbprint, он нам скоро понадобится
Код: Выделить всё
4A664FFF92F8C5B8B44DF709D02A6C4D3FBDB274Код: Выделить всё
$selector_set = @{
Address = "*"
Transport = "HTTPS"
}
$value_set = @{
CertificateThumbprint = "4A664FFF92F8C5B8B44DF709D02A6C4D3FBDB274"
}
New-WSManInstance -ResourceURI "winrm/config/Listener" -SelectorSet $selector_set -ValueSet $value_set
6. Разрешаем авторизацию
Код: Выделить всё
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
winrm set winrm/config/service/auth '@{Basic="true"}'На линукс машине пишем сценарий (перед этим убедитесь что у вас установлен ansible и коллекции ansible.windows и community.windows)
Поскольку у меня в качестве дистрибутива редхат-подобный линукс то я поставил пакеты vim-ansible и ansible-core, остальное на ваш вкус.
Создаем файл ansible.cfg со следующим содержимым
Код: Выделить всё
[defaults]
host_key_checking = false
inventory = ./hosts
interpreter_python = auto_legacy_silentКод: Выделить всё
[windows_hosts]
ans_win_rdp01 ansible_host=10.0.0.21
ans_win_rdp02 ansible_host=10.0.0.22
[windows_hosts:vars]
ansible_user=Логин от сервера (если надо будет делать что-то системное то от админской учетки)
ansible_password=Пароль
ansible_port=5986
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignoreКод: Выделить всё
- name: Test windows connect from ansible
hosts: windows_hosts
become: yes
become_method: runas
become_user: Логин административного юзера
vars:
ansible_become_password: Пароль административного юзера
tasks:
- name: Test connectivity
win_ping:Код: Выделить всё
ansible-playbook test.ymlКод: Выделить всё
TASK [Test connectivity] *******************************************************************
ok: [ans_win_rdp01]
ok: [ans_win_rdp02]
PLAY RECAP *********************************************************************************
ans_win_rdp01 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ans_win_rdp02 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
