Invoke-Expression 帮助信息

如下说明是翻译 PowerShell : help Invoke-Expression 产生的帮助信息 .
译者 : Edengundam( 马涛 )
 
Invoke-Expression
 
大纲
运行一个以字符串形式提供的 Windows PowerShell 表达式 .
 
语法
Invoke-Expression [-command] []
 
详细描述
运行一个以字符串形式提供的 Windows PowerShell 表达式 . Invoke-Expression 输出参数 Command 指定的命令的执行结果 . 然而 , 当结果是一个空数组时 , 此命令输出 $null, 如果结果只有一个元素 , 此命令只输出该元素 .
 
参数
 
-command
指定一个字符串或者包含字符串的变量 , 此字符串必须是 Windows PowerShell 表达式 .
 
强制参数 ?
True
参数位置 ?
1
默认值
 
允许从管道绑定输入 ?
true ( 根据值 )
允许通配符扩展 ?
false
 
< 公共参数 >
此命令支持公共参数 : -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息 , 输入 , "get-help about_commonparameters".
 
输入类型
None
 
返回类型
Cmdlet 本身的输出与通过参数 Command 指定的表示命令的字符串所执行的结果对象一样 . 然而 , 如果表达式的输出是空数组或者只有一个元素的数组 , cmdlet 的输出分别是 $null 或者是单独的元素 , respectively.
 
注意
 
要将代码块作为 Command 参数的值 , 你必须将它们放入引号中 . 否则 , PowerShell 将会识别该代码块 , 并对其求值 . 而不是将其字面值传递给参数 Command. 关于代码块更多的说明 , 键入 get-help about_script_block.
 
使用 invoke-expression cmdlet , 如果没有适当的预防措施 , 很可能会威胁您的计算机系统 . 此命令可以简化编写接受输入 , 并根据输入构造和运行 Windows PowerShell 命令的脚本 . 这样的脚本作者不能完全的控制脚本能够执行的命令 . 一些提供给脚本的输入可能是恶意命令 . 这些命令将会执行 ( 在脚本的当前安全上下文中执行 ) 除非脚本的作者已经谨慎的在使用它们之前进行了验证 . 通常情况下 , 最好是识别并允许已知的有益的输入 , 并拒绝全部其他输入 , 而不是允许除了看起来有恶意以外的所有其他输入 .
 
1
 
C:/PS>$sorted_processes = "get-process | sort-object Name"
invoke-expression $sorted_processes
 
此命令创建一个变量 $sorted_processes 并将命令文本存储到变量中 . Invoke-Expression cmdlet 接下来执行存储在变量 $sorted_processes 中的命令 .
 
2
 
C:/PS>$cmdlet_name = "get-eventlog"
$example_number = 1
$example_code = (get-help $cmdlet_name).examples.example[($example_number-1)].code
invoke-expression $example_code
 
此命令从 cmdlet 帮助中取得并执行一个示例命令 . 他将运行 Get-EventLog cmdlet 的第一个示例 . 要运行不同 cmdlet 的示例 , 改变变量 $cmdlet_name 的值为 cmdlet 的名称 , 并改变变量 $example_number 的值为你想运行的示例编号 . 如果你输入的示例编号是非法的 , 此命令执行失败 .
 
命令的第一行存储 cmdlet 的名称 : get-eventlog, 到变量 $cmdlet_name . 命令的第二行将示例编号存储到变量 $example_number . 命令的第三行 , properties of the object returned by the Get-Help cmdlet 返回的对象属性被访问并取得示例代码 , 并将其存储在变量 $example_code . 命令最后一行 , 通过使用 Invoke-Expression 来运行示例代码 .
 
相关链接
Trace-Command
Invoke-Item
Invoke-History
 

你可能感兴趣的:(PowerShell,cmdlets帮助资料,powershell,脚本,windows,command,存储,properties)