Tôi có một người trong phòng thí nghiệm trong một máy chủ vCenter, phòng thí nghiệm bao gồm 5 máy chủ windows và 3 máy chủ windows 10
Mỗi lần tôi chạy playbook (bất kỳ playbook nào) chống lại phòng thí nghiệm này, 2 lỗi sẽ xuất hiện trong NHIỆM VỤ [Thu thập thông tin]:
[CẢNH BÁO]: Lỗi khi thu thập dữ kiện winrm: Bạn không thể gọi phương thức trên biểu thức có giá trị null. Tại dòng:15 ký tự:17 + ...
$ansibleFacts.ansible_win_rm_certificate_expires = $_.Không ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ + CategoryInfo :
InvalidOperation: (:) [], RuntimeException + FullQualifiedErrorId : InvokeMethodOnNull tại <ScriptBlock>, <Không có tệp>: dòng 15 tại <ScriptBlock>, <Không có tệp>: dòng
13
[CẢNH BÁO]: Lỗi khi thu thập thông tin thực tế: Test-Path: Truy cập bị từ chối Tại dòng:10 char:17 + Test-Path -LiteralPath $facterPath +
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : PermissionDenied: (\Domain.com\Sys... rtup\facter.exe:String) [Đường dẫn thử nghiệm], Ngoại lệ truy cập trái phép
+ FullQualifiedErrorId : ItemExistsUnauthorizedAccessError,Microsoft.PowerShell.Commands.TestPathCommand at <ScriptBlock>, <No file>: dòng 10 tại <ScriptBlock>, <No
tệp>: dòng 3
Nhật ký đầy đủ:
NHIỆM VỤ [Thu thập thông tin] ********************************************* *************************************************** *************************************************** *** đường dẫn tác vụ: /ansible/playbooks/copy_r10_files.yml:2
chuyển hướng (loại: mô-đun) ansible.buildin.setup sang ansible.windows.setup
Sử dụng tệp mô-đun /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Đường ống được kích hoạt.
<vm1.domain.com> THIẾT LẬP KẾT NỐI WINRM CHO NGƯỜI DÙNG: Tên miền\hiddai trên CỔNG 5985 ĐẾN vm1.domain.com
chuyển hướng (loại: mô-đun) ansible.buildin.setup sang ansible.windows.setup
Sử dụng tệp mô-đun /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Đường ống được kích hoạt.
<vm2.domain.com> THIẾT LẬP KẾT NỐI WINRM CHO NGƯỜI DÙNG: DOMAIN\hiddai trên CỔNG 5985 ĐẾN vm1.domain.com
chuyển hướng (loại: mô-đun) ansible.buildin.setup sang ansible.windows.setup
EXEC (thông qua trình bao bọc đường ống)
Sử dụng tệp mô-đun /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Đường ống được kích hoạt.
<vm3.domain.com> THIẾT LẬP KẾT NỐI WINRM CHO NGƯỜI DÙNG: DOMAIN\hiddai trên CỔNG 5985 ĐẾN srraalabjhqdb.r10.local
chuyển hướng (loại: mô-đun) ansible.buildin.setup sang ansible.windows.setup
Sử dụng tệp mô-đun /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Đường ống được kích hoạt.
EXEC (thông qua trình bao bọc đường ống)
<vm4.domain.com> THIẾT LẬP KẾT NỐI WINRM CHO NGƯỜI DÙNG: DOMAIN\hiddai trên CỔNG 5985 ĐẾN vm4.domain.com
chuyển hướng (loại: mô-đun) ansible.buildin.setup sang ansible.windows.setup
EXEC (thông qua trình bao bọc đường ống)
Sử dụng tệp mô-đun /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Đường ống được kích hoạt.
<vm5.domain.com> THIẾT LẬP KẾT NỐI WINRM CHO NGƯỜI DÙNG: DOMAIN\hiddai trên CỔNG 5985 ĐẾN vm5.domain.com
EXEC (thông qua trình bao bọc đường ống)
EXEC (thông qua trình bao bọc đường ống)
[CẢNH BÁO]: Lỗi khi thu thập dữ kiện winrm: Bạn không thể gọi phương thức trên biểu thức có giá trị null. Tại dòng:15 ký tự:17 + ...
$ansibleFacts.ansible_win_rm_certificate_expires = $_.Không ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ + CategoryInfo :
InvalidOperation: (:) [], RuntimeException + FullQualifiedErrorId : InvokeMethodOnNull tại <ScriptBlock>, <Không có tệp>: dòng 15 tại <ScriptBlock>, <Không có tệp>: dòng
13
được rồi: [vm3.domain.com]
chuyển hướng (loại: mô-đun) ansible.buildin.setup sang ansible.windows.setup
Sử dụng tệp mô-đun /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Đường ống được kích hoạt.
<vm7.domain.com> THIẾT LẬP KẾT NỐI WINRM CHO NGƯỜI DÙNG: DOMAIN\hiddai trên CỔNG 5985 ĐẾN vm7.domain.com
được rồi: [vm4.domain.com]
chuyển hướng (loại: mô-đun) ansible.buildin.setup sang ansible.windows.setup
Sử dụng tệp mô-đun /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Đường ống được kích hoạt.
<vm6.domain.com> THIẾT LẬP KẾT NỐI WINRM CHO NGƯỜI DÙNG: DOMAIN\hiddai trên CỔNG 5985 ĐẾN vm6.domain.com
EXEC (thông qua trình bao bọc đường ống)
được rồi: [vm1.domain.com]
được rồi: [vm2.domain.com]
chuyển hướng (loại: mô-đun) ansible.buildin.setup sang ansible.windows.setup
Sử dụng tệp mô-đun /root/.ansible/collections/ansible_collections/ansible/windows/plugins/modules/setup.ps1
Đường ống được kích hoạt.
<vm8.domain.com> THIẾT LẬP KẾT NỐI WINRM CHO NGƯỜI DÙNG: DOMAIN\hiddai trên CỔNG 5985 ĐẾN vm8.domain.com
EXEC (thông qua trình bao bọc đường ống)
EXEC (thông qua trình bao bọc đường ống)
được rồi: [vm5.domain.com]
được rồi: [vm7.domain.com]
[CẢNH BÁO]: Lỗi khi thu thập thông tin thực tế: Test-Path: Truy cập bị từ chối Tại dòng:10 char:17 + Test-Path -LiteralPath $facterPath +
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : PermissionDenied: (\R10.local\Sys... rtup\facter.exe:String) [Đường dẫn thử nghiệm], Ngoại lệ truy cập trái phép
+ FullQualifiedErrorId : ItemExistsUnauthorizedAccessError,Microsoft.PowerShell.Commands.TestPathCommand at <ScriptBlock>, <No file>: dòng 10 tại <ScriptBlock>, <No
tệp>: dòng 3
được rồi: [vm8.domain.com]
được rồi: [vm6.domain.com]
META: trình xử lý đã chạy
Dockerfile của tôi là
TỪ xu:8
NGƯỜI DÙNG gốc
CHẠY yum kiểm tra cập nhật -y; \
cập nhật yum -y; \
yum cài đặt -y epel-phát hành; \
yum cài đặt -y gcc; \
yum cài đặt -y libffi-devel; \
yum cài đặt -y wget; \
yum cài đặt -y git; \
yum cài đặt -y python3; \
dnf cài đặt -y python3-setuptools; \
cài đặt pip3 --upgrade setuptools; \
yum cài đặt -y python3-pip; \
cài đặt pip3 --nâng cấp pip; \
pip3 cài đặt pywinrm; \
pip3 cài đặt PyVmomi; \
# Ansible 2.11.x
cài đặt pip3 ansible; \
# xanh
wget -q https://raw.githubusercontent.com/ansible-collections/azure/dev/requirements-azure.txt; \
cài đặt pip3 -r yêu cầu-azure.txt; \
rm yêu cầu-azure.txt; \
bộ sưu tập ansible-galaxy cài đặt azure.azcollection; \
# Bộ sưu tập bao gồm các mô-đun và plugin VMware được hỗ trợ bởi
# Cộng đồng VMware Ansible giúp quản lý cơ sở hạ tầng VMware
cài đặt pip3 -r ~/.ansible/collections/ansible_collections/community/vmware/requirements.txt; \
bộ sưu tập ansible-galaxy cài đặt cộng đồng.vmware; \
# Tải xuống tệp từ HTTP, HTTPS hoặc FTP tới nút
bộ sưu tập ansible-galaxy cài đặt ansible.windows;
# chmod -R o-w /ansible;
CMD [ "/usr/sbin/init" ]
Tệp all.yml của tôi bao gồm các chi tiết winrm
---
# Chi tiết giao thức WinRM
ansible_user: DOMAIN\hiddai
ansible_password: F01o3O4
ansible_connection: winrm
ansible_port: 5985
ansible_winrm_scheme: http
ansible_winrm_server_cert_validation: bỏ qua
ansible_winrm_transport: ntlm
ansible_winrm_read_timeout_sec: 60
ansible_winrm_operation_timeout_sec: 58
liên quan đến LỖI 1: kiểm tra winrm ở một trong các máy trong miền cho thấy:
C:\Users\qa>winrm lấy winrm/config
cấu hình
MaxEnvelopeSizekb = 500
Thời gian chờ tối đa = 60000
MaxBatchItems = 32000
MaxProviderRequests = 4294967295
Khách hàng
Độ trễ mạng = 5000
Tiền tố URL = wsman
AllowUnencrypted = true [Source="GPO"]
xác thực
Cơ bản = true [Nguồn="GPO"]
Tiêu hóa = đúng
Kerberos = đúng
Đàm phán = đúng
Giấy chứng nhận = đúng
CredSSP = true [Nguồn="GPO"]
Cổng mặc định
HTTP = 5985
HTTPS = 5986
Trustedhosts [Nguồn="GPO"]
Dịch vụ
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
Kết nối tối đa = 300
MaxPacketRetrievalTimeSeconds = 120
AllowUnencrypted = true [Source="GPO"]
xác thực
Cơ bản = true [Nguồn="GPO"]
Kerberos = đúng
Đàm phán = đúng
Giấy chứng nhận = sai
CredSSP = true [Nguồn="GPO"]
CbtHardeningLevel = Thoải mái
Cổng mặc định
HTTP = 5985
HTTPS = 5986
IPv4Filter = * [Source="GPO"]
IPv6Filter = * [Source="GPO"]
EnableCompatibilityHttpListener = true [Source="GPO"]
EnableCompatibilityHttpsListener = true [Source="GPO"]
Giấy Chứng NhậnDấu Tay
AllowRemoteAccess = true [Source="GPO"]
người chiến thắng
AllowRemoteShellAccess = true
Thời gian chờ nhàn rỗi = 7200000
Người dùng đồng thời tối đa = 2147483647
MaxShellRunTime = 2147483647
MaxProcessesPerShell = 2147483647
MaxMemoryPerShellMB = 2147483647
MaxShellsPerUser = 2147483647
Phiên bản vùng chứa ansible của tôi là:
[root@ansible ansible]# ansible --version
[CẢNH BÁO KHÔNG DÙNG]: Ansible sẽ yêu cầu Python 3.8 trở lên trên bộ điều khiển bắt đầu với Ansible 2.12. Phiên bản hiện tại: 3.6.8 (mặc định, ngày 19 tháng 3 năm 2021, 05:13:41) [GCC
8.4.1 20200928 (Mũ đỏ 8.4.1-1)]. Tính năng này sẽ bị xóa khỏi ansible-core trong phiên bản 2.12. Cảnh báo khấu hao có thể bị vô hiệu hóa bằng cách cài đặt
deprecation_warnings=Sai trong ansible.cfg.
ansible [lõi 2.11.3]
tệp cấu hình = /ansible/ansible.cfg
đường dẫn tìm kiếm mô-đun được định cấu hình = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
vị trí mô-đun python ansible = /usr/local/lib/python3.6/site-packages/ansible
vị trí bộ sưu tập ansible = /root/.ansible/collections:/usr/share/ansible/collections
vị trí thực thi = /usr/local/bin/ansible
phiên bản python = 3.6.8 (mặc định, ngày 19 tháng 3 năm 2021, 05:13:41) [GCC 8.4.1 20200928 (Red Hat 8.4.1-1)]
phiên bản jinja = 3.0.1
libyaml = Đúng
Làm thế nào tôi có thể giải quyết những lỗi đó?