【发布时间】:2018-11-06 09:28:04
【问题描述】:
在从 Win7 迁移到 Win10 (1607 LTSB) 后,我在构建过程中遇到了 .bat->.ps1 调用问题 - 对 PowerShell 的调用,在 Win7 上耗时不到 100 毫秒,现在需要 10 秒+在某些主机上的 Win10 上:-(
调用如下所示:powershell -ExecutionPolicy Bypass -NonInteractive %scriptfile%
从开始菜单启动 ISE 和 PowerShell.exe 的性能良好。
到目前为止,我无法挖掘任何有用的东西......
- PoSh 5.1 在 Win7 和 Win10 上,PSProfile 是干净的,除了几个别名
- $env:PATH 是“干净的”,除了一些故意添加的文件夹 - 删除这些文件夹并没有改善这种情况。
- 已经进行了“ngen update” - 问题仍然存在。
我创建了一个小助手脚本,可以从不同的起点测量 PowerShell 的启动性能:https://gist.github.com/mwallner/d3c86794bb74680b0c0cf4e9a9758ab4 这也不行,在 Win7 上,我的大多数 Win10 机器的启动时间都低于 1 秒。
这里有谁已经解决了这个谜题?
【问题讨论】:
-
也许你对 ETW 很幸运:randomascii.wordpress.com/2015/09/24/etw-central
-
你试过-noprofile吗?该帐户是否有基于网络的“homedrive”?这个过程需要 10 秒与 100 毫秒有什么关系?
-
@AdamParsons 是的 -noprofile 在这种情况下不会改变任何事情+它在我的测试用例中(请参阅我包含的脚本)/这很重要,因为它不会被调用一次,但更像50 次 - 这部分不能轻易更改。
-
您确定是 PowerShell 调用吗?我观察到任务序列步骤的执行时间明显长于执行时间,原因不明,不仅限于 PowerShell。
-
WinPE 启动映像的组件呢?与旧版本相比,它有什么特点(您使用的是较新的 WinPE 吗?)。
标签: windows powershell batch-file windows-10