云数据库_住房和城乡建设厅网站_新注册优惠

时间:2021-09-28 04:14       来源: 微辰云

云数据库_住房和城乡建设厅网站_新注册优惠

SAP MMC是一个图形用户界面,设计用于在Windows上对SAP实例执行管理操作。

它基于Microsoft管理控制台,不允许任何脚本操作。

如果您要为在SAP MMC中执行的操作编写脚本,则必须选择其他工具。

我今天将向您展示如何编写脚本获取SAP实例的进程列表和状态。

我将使用PowerShell向您展示如何执行此任务,并向您展示两种方法。第一种方法也可以在计算机中执行命令行(批处理文件),第二种方法是使用SOAP请求。

方法1–使用sapcontrol.exe

sapcontrol.exe是SAP服务可执行文件的标准命令行接口sapstartsrv.exe文件. 以前的命令行工具如startsap、stopsap已被弃用,不再受支持。下面的所有代码示例都必须作为Powershell窗口中的adm用户执行。

要获得sapcontrol功能的概述,只需键入sapcontrol.exe进入PowerShell并点击return

屏幕截图没有显示完整的输出。sapcontrol(7.21)目前支持90个与之交互的函数sapstartsrv.exe文件. 另请注意有关退出代码和安全性的信息。

如果我们现在要检索实例的进程列表(请参阅上面的sapmcc),我们只需调用:

sapcontrol.exe-prot PIPE-nr 01-function GetProcessList

现有代码sapcontrol.exe通过查看变量$lastexitcode的值检索。根据sapcontrol的文档,这意味着

3 GetProcessList succeeded,所有进程都正确运行

如果需要检查is系统是否启动并运行,只需调用:

sapcontrol.exe-prot PIPE-nr 01-function GetProcessList

if($lastexitcode-eq 3)

{

"井,这里一切都很好"

}

否则

{

"如果你想让系统运行-你最好启动它:-)"

}

就是这样。

我们使用了-prot管道参数,它允许我们连接到sapstartsrv.exe文件使用我们当前的Windows凭据。这种类型的连接不需要指定用户名或密码。

此命令的输出是文本。如果您只想访问流程信息,您可以这样做:

我们需要去掉输出中的标题和常规信息(前五行)

$result=sapcontrol.exe-prot PIPE-nr 01-function GetProcessList | Select Object-skip 5

然后您可以访问有关此进程中进程数的信息实例:

$结果.长度

关于第一个进程的详细信息:

$result[0]

第一个进程的状态文本(逗号分隔列表中的第四个值)

$result[0]。split(',')[3]

您可以使用sapcontrol的-host参数查询在远程主机上运行的实例

在下一个示例中,我们首先检索系统实例列表,然后检索单个实例上当前正在运行的进程列表(这是一个命令):

此命令的输出:

方法2使用服务的SOAP接口:

如果您想访问服务提供的详细信息,此方法更有趣。PowerShell中SOAP的好处是,您不需要为单个信息解析文本行,但通常可以更轻松地访问信息:

首先,我们需要定义一些对象来准备SOAP连接:

变量$NR包含您要连接的实例的系统号。它需要显式地定义为一个字符串,否则,PowerShell将"00"更改为0,云服务器促销,淘客助手怎么用,这将导致端口号5013而不是50013

$NR=[string]"00〃

需要系统号来指定要连接到的正确tcp/ip端口。

如果要检索远程主机的信息,物联网概念,请用主机名替换localhost

$URL="http://localhost:5$($NR)13/?wsdl"

下一行将询问您需要为连接指定的用户名/密码组合sapstartsrv.exe文件.

在我们的示例中,我们使用的是域帐户nt5\xxladm。点击return后,大数据分析工具有哪些,物联网展,您将获得一个指定密码的弹出窗口。

$Credentials=Get Credential nt5\xxladm

现在我们将创建一个Webservice代理对象,允许我们访问的soap接口sapstartsrv.exe文件:

$proxy=New WebServiceProxy-Uri$url-Credential$Credential

创建代理后您可以成功地开始使用它–下面屏幕截图中的示例确实查询系统实例列表:

使用此PowerShell代理对象时,探索soap接口的功能要容易得多。

您可以轻松地访问单个信息:

或执行更复杂的查询:

或只探索soap对象:

我没有在这里粘贴行的输出(375行)

在PowerShell中使用soap代理接口也更容易,因为您可以使用tab键来安全地键入字母。

只需尝试:

$代理。获取

使用SOAP接口sapstartsrv.exe文件将允许您访问几乎所有sapmcc中提供的用于脚本编写的信息。

现在–编写PowerShell脚本很有趣!

链接:如何使用SAPControl Web服务接口(SOAP方法说明)