我有一个脚本将输出写入日志文件以及控制台。我正在运行命令Add-WindowsFeatures ...我想获取此命令的输出并将其传递给我的脚本。有可能吗?
答案 0 :(得分:4)
绝对。您只需要在param语句中包含CmdletBinding属性。然后,向您的某个参数添加一个属性,该参数详细说明管道输入绑定到参数的方式。例如,将它放在c:\ temp \ get-extension.ps1:
中[CmdletBinding()]
Param(
[parameter(Mandatory=$true,
ValueFromPipeline=$true)][System.IO.FileInfo[]]$file
)
process {
$file.Extension
}
然后,你可以这样做:
dir -File| C:\temp\get-extension.ps1
更新以解决最新评论:我猜测将参数类型设置为[object[]]$stuff
而非[fileinfo[]]
并将
$stuff | out-file c:\logs\logfile.txt #or wherever you want
过程块中的会让你关闭。