直接看例子吧
workflow get-computersystem {
param([string[]]$computerName)
function get-Fcomputersystem {
param ([string]$Fcomputer)
Get-WmiObject -Class Win32_ComputerSystem -ComputerName $Fcomputer
}
foreach -parallel($computer in $computerName) {
if (Test-Connection -ComputerName $computer -Quiet -Count 1) {
get-fcomputersystem -fcomputer $computer
}
else {
"$computer unreachable"
}
}
}
先生成三个ps1文件,如下图
然后编写脚本
改!
路径怎么写呢!这是个问题!
其实,如果对脚本的执行顺序没有要求的话,还可以改成这样的
workflow get-ADReport {
inlinescript {
C:\workflow\get-disabledaccount.ps1
C:\workflow\get-expiredaccount.ps1
C:\workflow\get-passwordNexpire.ps1
}
}
补充,如何在远程计算机上运行?
例如ps1的脚本不在运行workflow的本机上,那么则会出现以下情况:
1. 当ps1脚本所在的服务器非DC,但是安装了AD管理工具,而运行workflow的计算机也非DC,且没有安装AD管理工具
2 当ps1脚本所在的服务器非DC,没有安装AD管理工具,而运行workflow的计算机有安装AD管理工具
3. 当ps1脚本所在的服务器为DC,而运行workflow的计算机也非DC,且没有安装AD管理工具(成功)
4. 当ps1脚本所在的服务器为DC,而运行workflow的计算机安装AD管理工具(成功)
5.当ps1脚本所在的服务器非DC,而运行workflow的计算机有安装AD管理工具,但是在本机上运行即可成功
本文介绍如何在流程工作流中运行脚本,并详细解释了脚本执行顺序、远程计算机运行脚本的情况以及不同环境下的操作。文章还提供了解决路径问题的方法,确保在不同场景下脚本能够正确执行。

1万+

被折叠的 条评论
为什么被折叠?



