我不知道发生了什么,但我定期执行 Exchange 的 HealthChecker。
但现在我收到错误。即使我的执行策略是RemoteSigned
。
即使将执行策略设置为unrestricted
它也会显示同样的错误。
我的机器上可能屏蔽了 Microsoft 的脚本吗?我可以解除屏蔽吗?我使用了不同的配置文件,并且成功了。我的其他配置文件中的哪些内容可以屏蔽特定脚本?**
[PS] C:\temp>Get-ExecutionPolicy -list
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine RemoteSigned
[PS] C:\temp>.\ExchangeExtendedProtectionManagement.ps1 -ShowExtendedProtection
.\ExchangeExtendedProtectionManagement.ps1 : Die Datei "C:\temp\ExchangeExtendedProtectionManagement.ps1" kann nicht
geladen werden, da der Vorgang durch Richtlinien für die Softwareeinschränkung, z. B. die von der Gruppenrichtlinie
erstellten Richtlinien, blockiert wird.
In Zeile:1 Zeichen:1
+ .\ExchangeExtendedProtectionManagement.ps1 -ShowExtendedProtection
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : Sicherheitsfehler: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
[PS] C:\temp>.\HealthChecker.ps1
.\HealthChecker.ps1 : Die Datei "C:\temp\HealthChecker.ps1" kann nicht geladen werden, da der Vorgang durch
Richtlinien für die Softwareeinschränkung, z. B. die von der Gruppenrichtlinie erstellten Richtlinien, blockiert wird.
In Zeile:1 Zeichen:1
+ .\HealthChecker.ps1
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : Sicherheitsfehler: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
编辑:由于某种原因,似乎微软的签名不再受信任:请问您是否同意这项行动?
Ausführen des Vorgangs "Update script to latest version" für das Ziel "HealthChecker.ps1".
[J] Ja [A] Ja, alle [N] Nein [K] Nein, keine [H] Anhalten [?] Hilfe (Standard ist "J"): J
WARNUNG: Signature is not trusted by machine as Valid, status: NotTrusted.
WARNUNG: AutoUpdate: Signature could not be verified: C:\Users\MartinAdmin\AppData\Local\Temp\HealthChecker.ps1.
WARNUNG: AutoUpdate: Update was not applied.
Exchange Health Checker version 22.08.09.0638
答案1
答案2
由于脚本在执行策略设置为“绕过”时有效,这意味着某些策略仍在限制执行。
尽管“无限制”策略似乎允许一切,但事实并非如此。例如,在执行未签名的脚本之前,它可能会出现警告并要求您提供正确的权限。您可以尝试对脚本进行签名,看看这是否是问题所在。
要真正不受限制地运行,这需要旁路策略。
我猜不出您的配置文件中发生了哪些变化导致错误突然发生。甚至可能是某些配置文件损坏,这种情况有时会在 Windows 中发生。如果没有发现任何可以解释问题的内容,您可以继续使用 Bypass。
答案3
如果 PowerShell 脚本是从互联网上下载的,则很可能被阻止。右键单击该文件并勾选“解除阻止”,然后“确定”,或运行“Unblock-File”:
Unblock-File -Path <filepath>
Unblock-File cmdlet 可让您打开从 Internet 下载的文件。它可解除对从 Internet 下载的 PowerShell 脚本文件的阻止,以便您可以运行它们,即使 PowerShell 执行策略为 RemoteSigned 也是如此。默认情况下,这些文件被阻止,以保护计算机免受不受信任文件的侵害。