我是 PowerShell 的新手,我正在尝试了解如何通过管道将项目传递给自定义函数。例如,我有一个看起来像这样的 CSV 文件:
Url,Email
"http://www.google.com","myemail@gmail.com"
"http://www.yahoo.com", "myemail@yahoo.com"
和一个看起来有点像这样的函数:
Function HelloWorld() {
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True)]
[string]$Url,
[Parameter(Mandatory=$True)]
[string]$Email)
Proces {
Write-Host $Url $Email
}
}
我希望命令像这样工作:
导入-CSV C:\temp\myfile.csv | HelloWorld -Url {$ .Url} -Email {$ .Email}
但是我收到以下错误:
HelloWorld :输入对象不能绑定到命令的任何参数,因为命令不接受管道输入,或者输入及其属性与接受管道输入的任何参数都不匹配。
了解我是 PowerShell 的新手,如何让这个简单的示例正常工作?