管理包问题
发布时间: 2016年3月
适用对象:System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager
本主题描述特定于管理包和模块的问题。
ExecuteCommand 不支持管道运算符或别名
将别名或管道运算符与 ExecuteCommand 参数配合使用时,命令将失败。ExecuteCommand 参数不支持管道运算符、别名和特定于外壳的语法。
在旨在管理 UNIX 与 Linux 计算机的 System Center Operations Manager 管理包中,ExecuteCommand 参数不支持外壳进程,从而会使自定义操作失败。
对于以下每种自定义操作类型,你将使用 ExecuteCommand 参数或 ExecuteShellCommand 参数指定命令参数的调用方式。
Microsoft.Unix.WSMan.Invoke.ProbeAction
Microsoft.Unix.WSMan.Invoke.WriteAction
Microsoft.Unix.WSMan.Invoke.Privileged.ProbeAction
Microsoft.Unix.WSMan.Invoke.Privileged.WriteAction
ExecuteCommand 参数在不启动外壳进程的情况下将命令行参数传送至控制台。
ExecuteShellCommand 参数使用用户的默认外壳将命令参数传送至外壳进程,此外壳支持管道、别名和特定于外壳的语法。
注意 |
---|
ExecuteShellCommand 参数使用正在运行命令的用户的默认外壳。 如果需要特定外壳,请使用 ExecuteCommand 参数,并在命令参数前面添加所需的外壳。 |
下面的示例演示如何使用 ExecuteCommand 和 ExecuteShellCommand 参数:
在不启动外壳进程的情况下将命令行参数传送至控制台:
<p:ExecuteCommand_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem"> <p:Command> service syslog status </p:Command> <p:timeout>10</p:timeout> </p:ExecuteCommand_INPUT>
将命令行参数传送至引用显式外壳的外壳进程:
<p:ExecuteCommand_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem"> <p:Command> /bin/sh ps -ef syslog | grep -v grep </p:Command> <p:timeout>10</p:timeout> </p:ExecuteCommand_INPUT>
将命令参数传送至使用用户默认外壳的外壳进程:
<p:ExecuteShellCommand_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_OperatingSystem"> <p:Command> uptime | awk '{print $10}' |awk -F"," '{print $1}' </p:Command> <p:timeout>10</p:timeout> </p:ExecuteShellCommand_INPUT>
请参阅
使用模板对 UNIX 和 Linux 进行其他监视
UNIX 和 Linux 监视故障排除
Accessing UNIX and Linux Computers in Operations Manager(在 Operations Manager 中访问 UNIX 和 Linux 计算机)
UNIX 和 Linux 帐户的所需功能
证书问题
操作系统问题
日志记录和调试
管理 UNIX 和 Linux 计算机的证书
Managing Resource Pools for UNIX and Linux Computers(管理 UNIX 和 Linux 计算机的资源池)
使用发现向导在 UNIX 和 Linux 上安装代理