在Ansible中执行脚本时PowerShell变量中的不同语言
你好!在Ansible中执行脚本时PowerShell变量中的不同语言,powershell,ansible,Powershell,Ansible,你好! 我在playbook中有一个任务,它在powershell中运行代码 --- - name: Include vars include_vars: file: "global.yml" - name: Create failover cluster become: yes become_user: "{{ domain.domain_admin }}" become_flags: logon_type=interacti
我在playbook中有一个任务,它在powershell中运行代码
---
- name: Include vars
include_vars:
file: "global.yml"
- name: Create failover cluster
become: yes
become_user: "{{ domain.domain_admin }}"
become_flags: logon_type=interactive logon_flags=with_profile
become_method: runas
vars:
ansible_become_pass: "{{ domain.password }}"
win_shell: |
## Adding Witcher Disk
$Quorum_disk = (Get-Volume | Where-Object {$_.FileSystemLabel -eq "Quorum"} | Get-Partition | Get-Disk).Number
$CLuster_Quorum = (Get-ClusterAvailableDisk | Where-Object {$_.Number -eq $Quorum_disk}).Name
$CLuster_Quorum >> C:\1.txt
Get-Culture >> C:\1.txt
Get-ClusterAvailableDisk | Where {$_.Number -eq $Quorum_disk} | Add-ClusterDisk
Start-Sleep -Milliseconds 1500
Set-ClusterQuorum -DiskWitness $CLuster_Quorum
在$CLuster\u Quorum中,我有磁盘的名称。当我在Powershell ISE中的本地服务器上运行此代码时,变量包含俄文符号,所有代码都可以正常工作。Ansible在英语语言变量中输入值,任务崩溃。我试图在单独的文件中执行这段代码,使用win_comand处理相同的问题。Get Culture告诉我Ansible使用遵循区域设置:LCID-1049
名称-ru ru
DisplayName-俄语(俄罗斯) 有人遇到过这样的问题吗
我正在使用PowerShell 4.0和Windows Server 2012R2。Ansible版本为2.9,安装在Ubuntu 20.04上 提前谢谢你 错误消息 “stderr”:“Set-ClusterQuorum:打开资源时出错 “群集磁盘1”行:15字符:5集群集仲裁-DiskWitness $CLuster\u Quorum CategoryInfo ObjectNotFound:(:) [Set-ClusterQuorum],ClusterCmdleteException FullyQualifiedErrorId: ClusterObjectNotFound,Microsoft.FailoverClusters.PowerShell.SetClusterQuorumCommand“, “stderr_行”:[“Set-ClusterQuorum:打开时出错。” 资源“群集磁盘1.”,“第15行字符:5”,设置ClusterQuorum -DiskWitness$CLuster_Quorum”,类别信息,ObjectNotFound:(:)[Set-ClusterQuorum],ClusterCmdleteException FullyQualifiedErrorId: ClusterObjectNotFound,Microsoft.FailoverClusters.PowerShell.SetClusterQuorumCommand“], “标准输出”:“报告文件位置:C:\Windows\cluster\Reports\Create 2021.04.29上的群集向导VSRVCLS VSRVCLSааааааа1
“标准输出行”:[“报告文件位置: C:\Windows\cluster\Reports\Create cluster Wizard VSRVCLS on 2021年4月29日18月16日mht“名称”----
“VSRVCLSааааааа1
问题在于win_shell模块。我尝试使用ansible.windows.win_powershell,这很有帮助。变量开始包含我需要的语言符号
感谢您抽出时间!我不了解您面临的实际问题(部分原因是您没有包含任何错误消息);是字符串literal
“Quorum”不匹配,因为<代码> FielSistMeLabor < /Cord>是其他内容吗?请考虑阅读SealthHeld@ MdNiel.Labor是匹配的。我附加了错误消息,问题是由于使用的语言。当我在PosiS壳IE上运行本地服务器上的脚本时,$CultSuthQualUm是“SyoSt*Y.S.E.Suth.Y.* 1”。Ansible将“群集磁盘1”放在$Cluster\u Quorum中,这会导致错误,因为“群集磁盘1”由于语言问题,系统中不存在。如果某个属性正在进行那样的本地化,那么肯定有一个更永久的标识符可以使用,而不受本地化的约束。这意味着可能域。domain\u admin
的区域设置不像您的本地服务器帐户那样是ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru ru