使用 PowerShell 函数传递和获取值
Posted
技术标签:
【中文标题】使用 PowerShell 函数传递和获取值【英文标题】:Working with PowerShell functions passing and getting values 【发布时间】:2011-08-21 09:42:30 【问题描述】:PowerShell 脚本从命令行运行。
当尝试在脚本中传递参数时,当调用函数以传递值时,没有出现任何值,我尝试在函数内使用范围和参数。
【问题讨论】:
您能用您尝试过的一些代码示例来更新您的问题吗?如果没有,很难说你做错了什么。 【参考方案1】:您的脚本中的示例将非常有助于为您提供准确的答案。也就是说,这是一个通用答案,它显示了 PowerShell 中具有函数和不具有函数的脚本。
Function Sum
Param ([int]$a,[int]$b)
return $a+$b
因此,当您在脚本中包含此内容时,您可以点源脚本。因此,您可以直接从 cmdline 调用该函数。例如
Sum 4 5
将返回 9。
现在,没有函数,让我们说 sum.ps1 有以下代码:
Param ([int]$a,[int]$b)
$a+$b
您可以在控制台或任何地方调用.\sum.ps1 4 5
,它会再次返回9。
根本没有必要使用param()
。您可以使用 $args 数组来检索参数。但是,将参数绑定到类型并使用 Param()
为它们命名是有意义的
【讨论】:
【参考方案2】:您是否要在脚本中调用特定函数?您可以通过 .sourcing 然后调用来做到这一点。这里我们调用 utils.ps1 中定义的函数 sign-script,将参数 somescript.ps1 传递给函数。
. .\utils.ps1;sign-script somescript.ps1
注意行首的多余点
【讨论】:
以上是关于使用 PowerShell 函数传递和获取值的主要内容,如果未能解决你的问题,请参考以下文章
运行从 PowerShell 显式获取参数的 Python 函数(无需单独传递参数)
如何在不连接 Powershell 的情况下传递参数? [复制]
如何使用 PowerShell 和 SQLCMD 获取存储过程返回值?
Thycotic Secret Server将信用证传递给Powershell