我使用 PsExec 在远程计算机上运行 PowerShell 脚本,作为其副作用,“Windows PowerShell”事件日志(在“应用程序和服务日志”下的事件查看器中找到)将我们的所有参数记录到“HostApplication”下的脚本。这是一个问题,因为其中一些参数包含敏感密码。
我尝试将下面列出的首选项变量设置为 false,但在 PowerShell 引擎启动时它仍然会创建日志。据我所知,这是因为 PowerShell 在检查这些首选项变量的值之前就创建了这些日志。
$LogEngineLifeCycleEvent=$false;
$LogEngineHealthEvent=$false;
$LogProviderLifeCycleEvent=$false;
$LogProviderHealthEvent=$false;
Run Code Online (Sandbox Code Playgroud)
我们当前的解决方案结合使用这些首选项变量,并将以下行放在每个 PowerShell 脚本的开头,以确保清除 PowerShell 引擎启动时创建的日志。
Clear-EventLog "Windows PowerShell";
Run Code Online (Sandbox Code Playgroud)
这个解决方案是好的,但我希望它达到这样的程度:我们的密码永远不会保存在日志中,并且日志永远不需要清除。有没有办法禁用 PowerShell 日志记录,以便在 PowerShell 引擎生命周期的任何时刻都不会创建事件?