关键点:

a)inlineScript 活动具有活动通用参数,但不具有PowerShell 通用参数,且inlineScript 脚本块中的命令和表达式不具有工作流的功能
b)默认inlineScript 活动在单独的进程中执行而不是和工作流同一进程中执行,但是可使用参数OutOfProcessActivity进行控制,如果需要删除或者还原相关配置使inlineScript 活动在工作流进程内或者进程外运行,请参考例b
c)工作流中定义的变量对 InlineScript 脚本块中的命令不可见,除非使用$Using修饰符
d)InlineScript 命令可以更改从工作流作用域导入的变量的值,但所做的更改在工作流作用域中不可见。 若要使其可见,则将更改的值返回到工作流作用域,请使用例d

e)PowerShell脚本(.ps1)需要在InlineScript 活动中运行

例b:

#工作流进程内运行

PS C:\Windows\system32> (Get-PSSessionConfiguration Microsoft.PowerShell.Workflow).OutOfProcessActivity
InlineScript PS C:\Windows\system32>$o = New-PSWorkflowExecutionOption -OutOfProcessActivity "" PS C:\Windows\system32>Set-PSSessionConfiguration Microsoft.PowerShell.Workflow -SessionTypeOption $o -Force PS C:\Windows\system32> (Get-PSSessionConfiguration Microsoft.PowerShell.Workflow).OutOfProcessActivity #还原配置,在工作流进程外运行 PS C:\Windows\system32> (Get-PSSessionConfiguration Microsoft.PowerShell.Workflow) | Unregister-PSSessionConfiguration PS C:\Windows\system32> Enable-PSRemoting -Force PS C:\Windows\system32> (Get-PSSessionConfiguration Microsoft.PowerShell.Workflow).OutOfProcessActivity InlineScript

例c:

workflow test-wf4
{
$a = 3
InlineScript {"Inline A0 = $a"}
InlineScript {"Inline A1 = $Using:a"}
} PS C:\Windows\system32> test-wf4
Inline A0 =
Inline A1 = 3

例d:

workflow test-wf5
{
$a = 3 InlineScript {$a = $using:a+1; "Inline A = $a"}
"Workflow A = $a" $a = InlineScript {$a = $Using:a+1; $a}
"Workflow New A = $a"
} PS C:\Windows\system32> test-wf5
Inline A = 4
Workflow A = 3
Workflow New A = 4

例e:

workflow test-wf6
{
$ie = InlineScript
{
New-Object -ComObject InternetExplorer.Application -property @{navigate2="www.baidu.com"}
}
$ie.LocationName
} test-wf6 PS C:\Windows\system32> D:\无标题2.ps1
百度一下,你就知道

PowerShell工作流学习-2-工作流运行Powershell命令的更多相关文章

  1. PowerShell工作流学习-5-自定义活动

    关键点: a)除了内置活动和自定义活动,还可以用C# 编写自定义活动,并将其包括在 XAML 工作流和脚本工作流中,若要将自定义活动添加到脚本工作流中,请使用 #Requires 语句的 Assemb ...

  2. PowerShell工作流学习-3-挂起工作流

    关键点: a)可使用Suspend-Job或Suspend-Workflow(从工作流中)挂起工作流,无法从工作流中恢复工作流. 例a: Workflow Test-Suspend { $a = Ge ...

  3. 如何远程运行PowerShell命令?

    首先, 被remote运行PowerShell的windows必须已经join了domain. 其次, 该Windows的PowerShell必须开启对remote command的接受, 运行下面的 ...

  4. Powershell运行Invoke-Sqlcmd命令的先决条件

    运行Invoke-Sqlcmd命令,使用这个命令需满足如下条件: 1.在运行服务器中安装SQL Server 2008 R2 Management ObjectsI 2.在运行命令 invoke-sq ...

  5. [转]深入理解学习GIT工作流

    深入理解学习Git工作流 字数13437 阅读2761 评论3 喜欢70 个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心 ...

  6. 深入理解学习Git工作流(转)

    个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心中的困惑迎刃而解,于是我将这部分资料进行整理放到了github上,欢迎st ...

  7. 深入理解学习Git工作流(git-workflow-tutorial)

    转载:https://segmentfault.com/a/1190000002918123#articleHeader11 人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协 ...

  8. 深入学习 Git 工作流

    原文  https://github.com/xirong/my-git/blob/master/git-workflow-tutorial.md   个人在学习git工作流的过程中,从原有的 SVN ...

  9. 【黑客基础】Windows PowerShell 脚本学习(上)

    视频地址:[黑客基础]Windows PowerShell 脚本学习 2019.12.05 学习笔记 1.$PSVersionTable :查看PowerShell的版本信息. 2.PowerShel ...

  10. PowerShell入门学习

    一.概要 Powershell是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境. powershell需要.NET环境的支持,同时支持.NET对象.之所以将Powershell ...

随机推荐

  1. 一个简单的通讯服务框架(大家发表意见一起研究)JAVA版本

    最近研究下java语言,根据一般使用的情况,写了个连接通讯服务的框架: 框架结构 C-Manager-S; 把所有通讯内容抽取成三个方法接口:GetData,SetData,带返还的Get; 所有数据 ...

  2. 根据日志分析异常:There is already 'XXX' bean method

    问题代码: @Slf4j @Api(value = "paymentOrderController", description = "PaymentOrderContro ...

  3. Python笔记:深浅拷贝

    1.赋值操作两者是同一数据,其内存地址一样.适用于list.dict.set数据类型. 2.copy是浅拷贝,只能拷贝嵌套数据的第一层数据,嵌套的数据与赋值操作相同,其内存地址一样,当一个被更改,其他 ...

  4. mazing ASP.NET Core 2.0【转】

    前言 ASP.NET Core 的变化和发展速度是飞快的,当你发现你还没有掌握 ASP.NET Core 1.0 的时候, 2.0 已经快要发布了,目前 2.0 处于 Preview 1 版本,意味着 ...

  5. 编写Servlet 实例 -Shopping网站时,遇到的几个问题

    问题一.在Web 上运行时,用JDBC链接MySQL总是出错,一直出现驱动加载失败 ------提示java.lang.ClassNotFoundException.解决方案:将数据库驱动jar文件导 ...

  6. c# post 接收传来的文件

    private void UploadFile() { // //......其他代码 // HttpFileCollection files = HttpContext.Current.Reques ...

  7. leetcode11

    public class Solution { //public int MaxArea(int[] height) //{ // var max = 0; // for (int i = 0; i ...

  8. echart 单选legend 并排序

    java代码 List<Map<String, Object>> AllList = null; JSONArray jsonArray = JSONArray.fromObj ...

  9. 438. Find All Anagrams in a String

    原题: 438. Find All Anagrams in a String 解题: 两个步骤 1)就是从s中逐步截取p长度的字符串 2)将截取出的字符串和p进行比较,比较可以用排序,或者字典比较(这 ...

  10. cut命令详解

    1.简介:cut:以某种方式按照文件的行进行分割 2.参数列表: -b:仅显示行中指定直接范围的内容: -c:仅显示行中指定范围的字符: -d:指定字段的分隔符,默认的字段分隔符为“TAB”: -f: ...