温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - How do you hide the "GAC/Version/Location" headers from PowerShell scripts?
powershell

其他 - 如何从PowerShell脚本中隐藏“ GAC /版本/位置”标头?

发布于 2020-04-03 23:59:27

当我通过命令行执行PowerShell脚本(.ps1)时,它会在脚本之前添加一些标头,例如:

powershell.exe -File "C:\path\to\powershell.ps1"

GAC    Version        Location                                                                                         
---    -------        --------                                                                                         
True   v4.0.30319     C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089...

我不想隐藏PowerShell脚本的所有输出,因为它确实会回显一些有用的信息。我只想隐藏这些标题,以使它们在脚本运行时不会出现在屏幕上或与日志混在一起。

如果有问题,我将使用Windows 10内置的任何PowerShell。

查看更多

提问者
DOOManiac
被浏览
13
user4003407 2016-05-03 01:06

有可能出现这种情况是由于来电[System.Reflection.Assembly]::Load/ LoadFile/ LoadFrom/ LoadWithPartialName方法。此方法返回Assembly具有负载的对象。由于PowerShell从每个语句(而不只是显式return语句)返回值Assembly,因此您需要显式忽略该对象,因此不会在控制台上显示对象。虽然,我建议您使用Add-TypePowerShell cmdlet加载程序集:

Add-Type -AssemblyName System.Windows.Forms