美文网首页
使用ansible发布citrix应用

使用ansible发布citrix应用

作者: wolfwolfgod | 来源:发表于2018-11-26 18:20 被阅读0次

在使用ansible进行发布citrix应用时,思路是通过ansible脚本远程执行powershell脚本,传递参数给powershell脚本,具体工作由powershell执行。,
描述一下发布应用的步骤,powershell脚本由ansible传递到DDC上执行,应用是在VDA的远程机器上,首先获取应用的默认图标,然后再用此图标发布应用。
这个脚本直接在DDC上执行没问题,一旦由ansible执行,则报错,提示找不到location,经分析,是获取应用图标时无法访问路径。遭遇了second-hop问题

image.png

如图所示
第一步ansible通过PSSession登录到DDC是没问题的,但在这个Session中,如果要再访问VDA_Server的内容,则属于第二跳了,默认是没有登录凭证的。

解决办法:
使用CredSSP认证方式

  1. 在ansible中,配置windows的认证协议为CredSSP
ansible_user: Username
ansible_password: Password
ansible_connection: winrm
ansible_winrm_transport: credssp

2.关闭TLS v1.2(可选)

ansible_winrm_credssp_disable_tlsv1_2: true

3.安装CredSSP库

pip install pywinrm[credssp]
  1. 在windows机器上打开credssp,这里也就是需要在DDC上操作,让DDC可代理登录凭证(把凭证传给其他机器用于登录)
Enable-WSManCredSSP -Role Server -Force

这样就可以了。

问题2:发布中文应用名时出错
解决上一个问题后,发布可以了,但一旦有中文应用名,则powershell执行时显示名称参数不正确,不允许控制字符。
经排查,是ansible-semaphore接受的参数就是乱码了,再排查,发现是通过rest接口调用ansible-semaphore时,传递请求没有指明编码为utf-8。

解决:
发送http请求时,设定编码:

HttpPost httpPost = new HttpPost(url);
httpPost.addHeader("Content-Type", "application/json;charset=utf-8");
....
StringEntity vars =new StringEntity(jsonStr,"UTF-8");
vars.setContentEncoding("UTF-8");
vars.setContentType("application/json");
httpPost.setEntity(vars);

使用这样的方式,即可解决中文名问题。

相关文章

  • 使用ansible发布citrix应用

    在使用ansible进行发布citrix应用时,思路是通过ansible脚本远程执行powershell脚本,传递...

  • 运维自动化管理工具之Ansible-基本功能

    Ansible 内容: 1.软件发布环境机制优势对比 2.Linux上的Ansible应用 Ansible的相关的...

  • 24-运维自动化之ANSIBLE

    本章内容 ◆ 运维自动化发展历程及技术应用◆ Ansible命令使用◆ Ansible常用模块详解◆ YAML语法...

  • Citrix 无法打开应用

    症状: 已安装Citrix Receiver,点击某个应用,浏览器下载.ica文件后,接着点击打开,无响应 ...

  • Citrix 无法打开应用

    症状: 已安装Citrix Receiver,点击某个应用,浏览器下载.ica文件后,接着点击打开,无响应 ...

  • ansible--循环

    使用with_items loops.yml with_items是ansible中的一个模块 应用 使用循环安装...

  • 01-初步认识Ansible

    Ansible 初步认识Ansible 什么是Ansible Ansible 是一个配置管理和应用部署工具,功能类...

  • Centos8 安装并使用Ansible(一)

    Ansible 是一个开源的配置管理工具,我们用于自动化任务、部署应用程序。使用 Ansible,您可以自动执行日...

  • python Ansible API使用

    Ansible版本2.6.4,记录下ansible API使用,合入到运营系统,会使用到ansible批量操作服务...

  • ansible命令模块

    ansible官方网站: https://docs.ansible.com模快的应用ansible 主机名称/主机...

网友评论

      本文标题:使用ansible发布citrix应用

      本文链接:https://www.haomeiwen.com/subject/bgjmqqtx.html