powershell - Powershell 重定向脚本输出
问题描述
我有两个 Powershell 脚本——第一个脚本称为 Script_A,第二个脚本称为 Script_B。这两个脚本可以总结如下:
Script_A - 调用 Script_B,在过程中传递一些参数,例如:
.\Script_B.ps1 $Param1 $Param2
Script_B - 通过使用 Script_A 发出的两个参数,即 $Param1 和 $Param2 执行 powershell 函数和其他逻辑
我现在想做的是将控制台上显示的结果重定向到输出文件。我已经尝试了使用 Out-File cmdlet 以及重定向字符“>>”的所有方法,但仍然无法获得所需的结果。
有什么建议么?
解决方案
拥有 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)}
推荐阅读
- excel - 在 Excel 中将时间数据绘制为 2 点之间的距离
- javascript - PAC文件修改建议
- javascript - 使用递归js在树状对象中查找最小值和最大值
- javascript - 有没有办法在 ReactJS 中获取 mobx 可观察变量地址
- oracle-apex - 显示页面加载 APEX 时隐藏的区域
- pyspark - 增量文件版本的 Pyspark 结构化流错误
- java - 使用 Spring Data Cassandra,表名被注释到 Bean。如何为同一个 bean 类设置多个表/存储库?
- android - Dart 列表中对象的比较
- reactjs - 有没有办法以内联样式设置多个三元语句?
- python - 由于 cookie,无法自动执行注册过程