PowerShell免费软件

kasini3000新增:ansible like输出

后台+多进程,远程执行kasini3000命令:

K-commit

 

 

后台+多线程,远程执行kasini3000命令:

K-commit-rs

 

具体用法:(这里只演示多线程版,多进程只需要用K-commit)

k-commit-rs.ps1 -ip 1.1.1.1 -scriptblock {被控机命令} -allparameter $a,$b
k-commit-rs.ps1 -ip 1.1.1.1 -file 'd:\主控机脚本.ps1' -allparameter $a,$b
k-commit-rs.ps1 {被控机命令} -wait_output $true 

 

 

说明:

K-commit,K-commit-rs,命令新增1个参数:

-wait_output $true 

 

以类似于 ansible形式,持续输出结果。

默认是不输出结果,而把结果保存在主控机sqlite库中。

 

你应该这样用:

k-commit-rs.ps1 命令 参数

k-commit-rs.ps1 命令 参数

k-commit-rs.ps1 命令 参数  -wait_output $true 

提交n次命令,但最后一次命令中,开启持续输出。

 

 

 

截图:

 

 

问:如上图所示,怎么输出的“8”?

答:

k-commit-rs.ps1 {echo 8} -wait_output $true 

k-commit-rs.ps1 { if ($a -eq 1) {echo 8} } -wait_output $true 

 

 

问:如何根据输出的结果“8”,继续写脚本?

答:

kt-rs.ps1 -grep '8'

foreach ($多线程输出_单台被控机 in $global:_mtout)
{
                #if ($多线程输出_单台被控机['标准输出'].contains('磁盘满了'))
                if ($多线程输出_单台被控机['标准输出'].contains('8'))
                {
                     '这台被控机曾经报错,磁盘满了'
                }
}

注意:如果是多进程,则应该这样用:

kt.ps1 -grep '8'
foreach ($多进程输出_单台被控机 in $global:_mpout)
 

手册在此:

https://gitee.com/chuanjiao10/kasini3000/blob/master/docs/%E5%8D%A1%E6%AD%BB%E4%BD%A03000%E5%91%BD%E4%BB%A4%E6%89%8B%E5%86%8C.xlsx

               

posted on 2023-05-17 15:40  PowerShell免费软件  阅读(160)  评论(0编辑  收藏  举报

导航