问题标签 [win-shell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
52 浏览

ansible - win shell 删除前检查文件是否存在

我正在通过 ansible 使用此命令来删除旧文件

我如何确保只有在有任何文件匹配条件时才运行它

发现了这个类似的问题,但它抑制了错误,而不是以正确的方式处理它。即仅在存在时删除。

抑制 FORFILES“找不到文件”错误

0 投票
1 回答
27 浏览

variables - Ansible放入相同的选项命令列表元素的所有值

操作系统:W2K16 服务器 Ansible:2.9.9

我搜索了在 winshell 命令中放置几个​​变量的方法,但是这段代码在 winshell 命令中启动了 3 次:

I Desire,命令启动:

请不要参考“ntp” ansible 模块,这是一个示例,我需要了解如何从列表中获取多个值并一次运行。

非常感谢!

0 投票
0 回答
133 浏览

ansible - 基于先前命令输出的 Ansible win_shell 循环

下午好,我是 Ansible 的新手。正在编写我的第一本 Play Book。我们需要的是一个可以发出 Powershell 命令的命令

DISM /Online /Get-ProvisionedAppxPackages | select-string Packagename

上面的命令将产生几个从 windows 返回的结果。然后我们要做的是逐个循环遍历这些包并通过发出此命令将它们删除

DISM /Online /Remove-ProvisionedAppxPackage /PackageName:PACKAGENAME

其中 PACKAGENAME 是第一个命令的结果。基本上,第一个命令发出调用以获取 Windows 10 中的英国媒体报道软件列表,第二个命令将它们逐个删除。

到目前为止,我有的是第一个电话。

但我不确定循环以及何时何地发出第二个命令。任何帮助将不胜感激。

谢谢你,乔治

0 投票
0 回答
156 浏览

powershell - 通过 Ansible 运行 Powershell 脚本不会产生输出文件

我有一个 PowerShell 脚本,可以在本地执行时从本地服务器运行另一个脚本,并在标准文本文件中生成结果。

但是,当我通过 Ansible Runbook 运行相同的脚本时,没有产生任何结果

PowerShell 脚本是 -

Ansible Runbook 是-

非常感谢您的帮助。

0 投票
0 回答
32 浏览

ansible - 为什么 Ansible/jinja2 在 shell 块内复制文本?

我有一本剧本,它使用该win_shell模块来运行一些操纵 JSON 对象的 powershell 命令。我将 Ansible 中的一些变量输入到 powershell 中,然后使用{% raw %}...{% endraw %}. 运行此程序时,似乎{% raw %}块内的任何内容都会两次发送到 powershell。

下面是一个说明问题的简化示例。

剧本.yml:

使用以下命令运行此错误:

具体来说,错误是:

但命令是:

我不知道为什么它会这样重复。看起来像将多项数组与字符串连接时遇到的问题,但这里不是这种情况。

如果我删除{% raw %}转义符,那么它可以正常工作,就像我转义整个 shell 块一样,而不仅仅是它的一部分。我可以{% raw %}通过转义 shell 块中的任何 JSON 对象来使用,但我很好奇为什么会发生这种情况。

Ansible 是 2.9.2。

0 投票
0 回答
281 浏览

powershell - 为什么将powershell 7设置为默认值时,ansible win_shell模块使用powershell 5?

我正在使用 ansible 运行 Windows 的打包程序来配置 VM。

我通过 OpenSHH 连接到虚拟机。我将 powershell 7 设置为 OpenSSH 的默认 shell。当我在命令行上通过 ssh 连接到 VM 时,横幅显示 PowerShell 7.1.3。

我通过 ansible-playbook 运行以下代码:

第一个任务返回5.1.19041.1023

第二个任务返回7.1.3

因此,当我不指定可执行文件时,win_shell 正在运行 powershell.exe,即 powershell 5。

当我将可执行文件指定为 pwsh(即 powershell 7)时,它的行为正确。

我不明白为什么 win_shell 模块忽略了注册表中的默认设置。有谁知道我做错了什么?

0 投票
1 回答
87 浏览

ansible - ansible:静默运行 nsis 卸载程序

已使用 NSIS 安装程序在目标计算机上安装了一个 Windows 应用程序C:\Program Files\my_app\。在该文件夹中还有卸载程序Uninstall.exe。我正在尝试编写一个可以静默运行该卸载程序的 ansible 任务。与该目标机器的连接是使用完成的

使用 cmd 提示在目标机器上手动运行以下命令可成功且静默地删除应用程序:

但是,当尝试实现我的 ansible 任务时,我无法让它工作。我试过以下

这两项任务均已完成且未出现错误,但未卸载应用程序。这是运行这些任务时的相关输出:

我在这里想念什么?非常感谢

编辑

安装程序不会在 Windows 注册表中创建条目,因此使用 ansible 'win_package' 不适用,因为我没有可以使用的 'product_id'。

0 投票
1 回答
31 浏览

ansible - 从 ansible 脚本捕获或修剪正确的输出

下面是我的 ansible 脚本 -

我的计划是捕获上面给出的输出并根据输出运行另一组命令,即LRR or LGG

但是当我尝试打印输出时,我看到它有不同的格式,如下所示 -

如何确保我只得到我正在打印的内容或如何修剪值并将其保存在寄存器中?

0 投票
1 回答
55 浏览

powershell - Windows PowerShell 处于非交互模式。阅读并提示

在上面的代码中得到“Windows PowerShell 处于非交互模式。阅读并提示。” 我正在使用 ansible playbook 执行上述代码。手动它正在执行,但是当通过 ansible getting 错误执行时。请帮忙!