Am un laborator rezident pe un server vCenter, laboratorul include 5 servere Windows și 3 Windows 10
De fiecare dată când rulez un registru de joc (orice registru de joc) în acest laborator, 2 erori apar în TASK [Gathering Facts]:
[AVERTISMENT]: Eroare la colectarea faptelor winrm: Nu puteți apela o metodă pe o expresie cu valori nule. La linia:15 char:17 +...
$ansibleFacts.ansible_win_rm_certificate_expires = $_.Nu ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:
InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId: InvokeMethodOnNull la <ScriptBlock>, <No file>: linia 15 la <ScriptBlock>, <No file>: line
13
[AVERTISMENT]: Eroare la colectarea faptelor factorilor: Test-Path: Accesul este refuzat La linia:10 char:17 + Test-Path -LiteralPath $facterPath +
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: PermissionDenied: (\Domain.com\Sys... rtup\facter.exe:String) [Test-Path], UnauthorizedAccessException
+ FullyQualifiedErrorId : ItemExistsUnauthorizedAccessError, Microsoft.PowerShell.Commands.TestPathCommand la <ScriptBlock>, <Fără fișier>: linia 10 la <ScriptBlock>, <Nu
fișier>: rândul 3
Jurnalul complet:
SARCINA [Adunarea faptelor] ********************************************* **************************************************** **************************************************** *** calea sarcinii: /ansible/playbooks/copy_r10_files.yml:2
redirecționare (tip: module) ansible.builtin.setup către ansible.windows.setup
Folosind fișierul modul /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Canalizarea este activată.
<vm1.domain.com> ESTABILIȚI CONEXIUNEA WINRM PENTRU UTILIZATOR: Domeniul\hiddai pe PORTUL 5985 LA vm1.domain.com
redirecționare (tip: module) ansible.builtin.setup către ansible.windows.setup
Folosind fișierul modul /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Canalizarea este activată.
<vm2.domain.com> ESTABILIȚI CONEXIUNEA WINRM PENTRU UTILIZATOR: DOMAIN\hiddai pe PORT 5985 LA vm1.domain.com
redirecționare (tip: module) ansible.builtin.setup către ansible.windows.setup
EXEC (prin înveliș pentru conducte)
Folosind fișierul modul /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Canalizarea este activată.
<vm3.domain.com> STABILIȚI CONEXIUNEA WINRM PENTRU UTILIZATOR: DOMAIN\hiddai pe PORTUL 5985 LA srraalabjhqdb.r10.local
redirecționare (tip: module) ansible.builtin.setup către ansible.windows.setup
Folosind fișierul modul /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Canalizarea este activată.
EXEC (prin înveliș pentru conducte)
<vm4.domain.com> ESTABILIȚI CONEXIUNEA WINRM PENTRU UTILIZATOR: DOMAIN\hiddai pe PORT 5985 LA vm4.domain.com
redirecționare (tip: module) ansible.builtin.setup către ansible.windows.setup
EXEC (prin înveliș pentru conducte)
Folosind fișierul modul /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Canalizarea este activată.
<vm5.domain.com> ESTABILIȚI CONEXIUNEA WINRM PENTRU UTILIZATOR: DOMAIN\hiddai pe PORT 5985 LA vm5.domain.com
EXEC (prin înveliș pentru conducte)
EXEC (prin înveliș pentru conducte)
[AVERTISMENT]: Eroare la colectarea faptelor winrm: Nu puteți apela o metodă pe o expresie cu valori nule. La linia:15 char:17 +...
$ansibleFacts.ansible_win_rm_certificate_expires = $_.Nu ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:
InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId: InvokeMethodOnNull la <ScriptBlock>, <No file>: linia 15 la <ScriptBlock>, <No file>: line
13
ok: [vm3.domain.com]
redirecționare (tip: module) ansible.builtin.setup către ansible.windows.setup
Folosind fișierul modul /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Canalizarea este activată.
<vm7.domain.com> ESTABILIȚI CONEXIUNEA WINRM PENTRU UTILIZATOR: DOMAIN\hiddai pe PORT 5985 LA vm7.domain.com
ok: [vm4.domain.com]
redirecționare (tip: module) ansible.builtin.setup către ansible.windows.setup
Folosind fișierul modul /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Canalizarea este activată.
<vm6.domain.com> STABILIȚI CONEXIUNEA WINRM PENTRU UTILIZATOR: DOMAIN\hiddai pe PORT 5985 LA vm6.domain.com
EXEC (prin înveliș pentru conducte)
ok: [vm1.domain.com]
ok: [vm2.domain.com]
redirecționare (tip: module) ansible.builtin.setup către ansible.windows.setup
Folosind fișierul modul /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Canalizarea este activată.
<vm8.domain.com> ESTABILIȚI CONEXIUNEA WINRM PENTRU UTILIZATOR: DOMAIN\hiddai pe PORT 5985 LA vm8.domain.com
EXEC (prin înveliș pentru conducte)
EXEC (prin înveliș pentru conducte)
ok: [vm5.domain.com]
ok: [vm7.domain.com]
[AVERTISMENT]: Eroare la colectarea faptelor factorilor: Test-Path: Accesul este refuzat La linia:10 char:17 + Test-Path -LiteralPath $facterPath +
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: PermissionDenied: (\R10.local\Sys... rtup\facter.exe:String) [Test-Path], UnauthorizedAccessException
+ FullyQualifiedErrorId : ItemExistsUnauthorizedAccessError, Microsoft.PowerShell.Commands.TestPathCommand la <ScriptBlock>, <Fără fișier>: linia 10 la <ScriptBlock>, <Nu
fișier>: rândul 3
ok: [vm8.domain.com]
ok: [vm6.domain.com]
META: conducătorii de conducere
Dockerfile-ul meu este
DE LA centos:8
rădăcină UTILIZATOR
RUN yum check-update -y; \
yum update -y; \
yum install -y epel-release; \
yum install -y gcc; \
yum install -y libffi-devel; \
yum install -y wget; \
yum install -y git; \
yum install -y python3; \
dnf install -y python3-setuptools; \
pip3 install --upgrade setuptools; \
yum install -y python3-pip; \
pip3 install --upgrade pip; \
pip3 instalează pywinrm; \
pip3 instalează PyVmomi; \
# Ansible 2.11.x
pip3 instalează ansible; \
# Azure
wget -q https://raw.githubusercontent.com/ansible-collections/azure/dev/requirements-azure.txt; \
pip3 install -r requirements-azure.txt; \
rm requirements-azure.txt; \
ansible-galaxy collection install azure.azcollection; \
# Colecția include modulele și pluginurile VMware suportate de
# Comunitatea Ansible VMware pentru a ajuta la gestionarea infrastructurii VMware
pip3 install -r ~/.ansible/collections/ansible_collections/community/vmware/requirements.txt; \
ansible-galaxy collection instalează community.vmware; \
# Descărcă fișierul din HTTP, HTTPS sau FTP către nod
ansible-galaxy collection instalează ansible.windows;
# chmod -R o-w /ansible;
CMD [ "/usr/sbin/init" ]
Fișierul meu all.yml include detalii winrm
---
# Detalii protocol WinRM
utilizator_ansible: DOMAIN\hiddai
parola_ansible: F01o3O4
ansible_connection: winrm
ansible_port: 5985
ansible_winrm_scheme: http
ansible_winrm_server_cert_validation: ignorați
ansible_winrm_transport: ntlm
ansible_winrm_read_timeout_sec: 60
ansible_winrm_operation_timeout_sec: 58
în ceea ce privește EROAREA 1: verificarea winrm într-una dintre mașinile din domeniu arată:
C:\Users\qa>winrm obține winrm/config
Config
MaxEnvelopeSizekb = 500
MaxTimeoutms = 60000
MaxBatchItems = 32000
MaxProviderRequests = 4294967295
Client
NetworkDelayms = 5000
URLPrefix = wsman
AllowUnencrypted = adevărat [Sursa="GPO"]
Auth
De bază = adevărat [Sursa="GPO"]
Digest = adevărat
Kerberos = adevărat
Negociază = adevărat
Certificat = adevărat
CredSSP = adevărat [Sursa="GPO"]
Porturi implicite
HTTP = 5985
HTTPS = 5986
TrustedHosts [Sursa="GPO"]
Serviciu
RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW; ;;WD)
MaxConcurrentOperations = 4294967295
MaxConcurrentOperationsPerUser = 1500
EnumerationTimeoutms = 240000
MaxConnexions = 300
MaxPacketRetrievalTimeSeconds = 120
AllowUnencrypted = adevărat [Sursa="GPO"]
Auth
De bază = adevărat [Sursa="GPO"]
Kerberos = adevărat
Negociază = adevărat
Certificat = fals
CredSSP = adevărat [Sursa="GPO"]
CbtHardeningLevel = Relaxat
Porturi implicite
HTTP = 5985
HTTPS = 5986
IPv4Filter = * [Sursa="GPO"]
IPv6Filter = * [Sursa="GPO"]
EnableCompatibilityHttpListener = true [Sursa="GPO"]
EnableCompatibilityHttpsListener = true [Sursa="GPO"]
Amprenta certificată
AllowRemoteAccess = adevărat [Sursa="GPO"]
Câștigători
AllowRemoteShellAccess = adevărat
IdleTimeout = 7200000
MaxConcurrentUsers = 2147483647
MaxShellRunTime = 2147483647
MaxProcessesPerShell = 2147483647
MaxMemoryPerShellMB = 2147483647
MaxShelsPerUser = 2147483647
Versiunea mea de container ansible este:
[root@ansible ansible]# ansible --version
[AVERTISMENT DE DEPRECARE]: Ansible va necesita Python 3.8 sau mai nou pe controler începând cu Ansible 2.12. Versiunea curentă: 3.6.8 (implicit, 19 martie 2021, 05:13:41) [GCC
8.4.1 20200928 (Red Hat 8.4.1-1)]. Această caracteristică va fi eliminată din ansible-core în versiunea 2.12. Avertismentele de depreciere pot fi dezactivate prin setare
deprecation_warnings=Fals în ansible.cfg.
ansible [nucleul 2.11.3]
fișier de configurare = /ansible/ansible.cfg
cale de căutare a modulului configurat = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
Locația modulului python ansible = /usr/local/lib/python3.6/site-packages/ansible
Locația colecției ansible = /root/.ansible/collections:/usr/share/ansible/collections
locație executabilă = /usr/local/bin/ansible
versiunea python = 3.6.8 (implicit, 19 martie 2021, 05:13:41) [GCC 8.4.1 20200928 (Red Hat 8.4.1-1)]
versiunea jinja = 3.0.1
libyaml = Adevărat
Cum pot rezolva acele erori?