服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

是否有唯一的等价条件可以应用于Puppet类或清单中的“文件”命令?

我正在使用CentOS 7与Puppet企业4.4.x为我的木偶大师。 我正在使用Windows Server 2012与Puppet企业4.x为我的木偶代理。 我的目标是根据是否存在文件,有条件地向每个Windows Server应用一个Puppet Manifest中的类。 是否有唯一的条件可以适用于Puppet类或文件命令? 这是我正在尝试的: 当Puppet Agent节点是Linux时,我知道如何在Puppet清单中使用generate。 我不知道如何在Windows上使用它。 当我尝试使用批处理命令或PowerShell命令来testing文件的存在时,我在Windows Server上运行Puppet Agent时出现错误。 错误提示“无法从远程服务器检索目录:SERVER上的错误400:语法错误在'=>'… 86行…” 我用generate命令尝试了各种不同的语法。 我想给一个可以在Puppet Agent节点上运行的命令的输出分配一个variables。 $vari = generate('C:\\WindowsPowerShell\\powershell.exe if(test-path …)') 我试图不使用生成命令并分配一个variables。 $vari = if(test-path …) 似乎没有任何工作。 看来,我的条件逻辑将不得不被应用到清单中的每个文件命令。 exec命令可以使用我创build的onlyif子句。 让具有各种不同命令的类基于具有特定文件的Puppet Agent节点执行将更加可维护。 我试图通过读取Puppet Agent节点上的文件来获取variables。 这失败了不同的原因。 我不知道如何使Puppet中的文件命令(或一类不同的文件)有条件地激活。 另外,我希望Puppet清单(exec和文件命令)保留在一个文件中。 我该怎么办?