在TD代理管理提示上运行命令

时间:2018-12-01 11:55:18

标签: windows shell powershell batch-file

我试图安装一个名称为win 10的数据收集器工具。我能够手动完成安装,但是现在我尝试自动执行此安装,因为这将安装在大量盒子中。

我的挑战是以管理员身份传递任何命令:Td-agent命令提示符。  https://docs.fluentd.org/v1.0/articles/install-by-msi

您能建议我如何以管理员身份运行任何命令:Td-agent命令提示符(来自Admin Command提示符)或Power Shell脚本。以下是供参考的屏幕截图

enter image description here

3 个答案:

答案 0 :(得分:0)

我通常使用PSexec远程安装MSI软件包。您可以使用CMD或PowerShell运行以下命令。

psexec \\ComputerName -u Domain\UserName -p Password -h cmd /c "msiexec /i \\ServerName\ShareName\td-agent.msi /qn /L*V LogFileName.log"

请记住以下几点:

  • MSI应该支持无提示安装。
  • 您用于运行的帐户需要管理员权限。
  • 您应该将MSI软件包存储在可从所有计算机访问的共享位置上(如果您具有域环境,则可以将其放在此路径\\DomainName.com\NetLogon中)。

如果要在多台计算机上执行此操作,则将所有计算机名称放在一个文本文件中,并使用PowerShell在所有计算机上运行它。

get-content computername.txt | foreach {
       .\psexec \\$_ -u domain\username -p password -h cmd /c "msiexec /i \\ServerName\ShareName\td-agent.msi /qn /L*V LogFileName.log"
        if ($?) { Write-host "Command completed successfully."} else {Write-host "Command failed!"}
}

让我知道您是否需要进一步的帮助或某些方法无效。

答案 1 :(得分:0)

您可以运行cmd /k C:\opt\td-agent\td-agent-prompt.bat以使用PATH中的文件启动新的命令提示符。您也可以只在Powershell中执行$env:PATH+="C:\opt\td-agent\embedded\bin;"

答案 2 :(得分:0)

这对我有用:

    [Environment]::SetEnvironmentVariable("Path", $env:PATH + ";C:\opt\td-agent\embedded\bin", "Machine")

    #Test interactive process via background job (action seems to initiate config necessary for winsvc registration):
    
    $bkgndConfigInit=Start-Job -ScriptBlock { $env:PATH+="C:\opt\td-agent\embedded\bin" ; fluentd -c etc\td-agent\td-agent.conf } #launch interactive front end process as job which completes some one-time init