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