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