运行 Puppet 中的 Powershell

Running Powershell in Puppet

我需要帮助 运行 Puppet TASK 中的 PowerShell

我不希望它 运行 使用 exec cmd 或 Bolt。

exec { 'test':

  command   => '& C:\fail.ps1',

  provider  => powershell,

}

查看更多信息:write your first task in powershell。来自上面的例子:

  1. 在您的模块中,文件夹 tasks 包含您的 powershell 脚本。例如 print.ps1:
param ($message)
Write-Output "$env:computername received the message: $message"
  1. 为任务创建 print.json 元数据文件(更多关于 writing tasks
{
  "description": "Print something",
  "parameters": {
    "message": {
      "type": "String",
      "description": "Something to print"
    }
  },
  "implementations": [
    {"name": "print.ps1"}
  ]
}

3.1。 运行 任务(带螺栓)。

bolt task run <your-module>::print message="hello powershell" --nodes $WINNODE --modulepath ./modules --no-ssl
The result:
Started on localhost...
Finished on localhost:
  Nano received the message: hello powershell
  {
  }
Successful on 1 node: winrm://vagrant:vagrant@localhost:55985
Ran on 1 node in 3.87 seconds

3.2。 运行 任务(使用 Puppet 控制台 UI)

您需要安装 puppet 模块(您开发任务的地方),方法是将其添加到 Puppetfile 或手动安装。

之后,您登录 Puppet 控制台 UI 并 运行 任务。