【问题标题】:Powershell Redirect Script OutputPowershell 重定向脚本输出
【发布时间】:2021-10-11 11:23:11
【问题描述】:

我有两个 Powershell 脚本 - 第一个脚本称为 Script_A,第二个脚本称为 Script_B。这两个脚本可以总结如下:

Script_A - 调用Script_B,在过程中传递一些参数,例如:

.\Script_B.ps1 $Param1 $Param2

Script_B - 通过使用 Script_A 发出的两个参数,即 $Param1 和 $Param2 来执行 powershell 函数和其他逻辑

我现在想做的是将控制台上显示的结果重定向到输出文件。我已经尝试了使用 Out-File cmdlet 以及重定向字符“>>”的所有方法,但仍然无法获得所需的结果。

有什么建议吗?

【问题讨论】:

  • Script_B.ps1 当前如何输出到控制台?使用Write-Host?
  • @MathiasR.Jessen 你很准。 Script_B.ps1 当前使用 Write-Host 输出到控制台。

标签: powershell redirect dependencies output


【解决方案1】:

当你有 Powershell 时,你应该尽可能避免使用控制台输出作为输入。

此处从 Script1 调用 Script2 的示例。 Script2 将 powershell 对象返回给 Script1,这不是“哑字符串”——它是您不需要解析的结构化数据。

#SCRIPT1.ps1
$Param1 = 'Jane'
$Param2 = 'Don Pedro'
$result = & 'D:\Script2.ps1' -Name $Param1 -Surname $Param2
$result | ConvertTo-Json | Out-String

#SCRIPT2.ps1
Param(
    [String]$Name,
    [String]$Surname)
return [PSCustomObject]@{
    Name = $Name.ToLowerInvariant(); 
    Surname = $Surname.ToUpperInvariant(); 
    ID = (Get-Random)}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多