1

我有一个不断抛出此错误的 powershell 脚本

Get-ComputerRestorePoint : This functionality is not supported on this operating system.
At line:1 char:25
+ Get-ComputerRestorePoint <<<<
    + CategoryInfo          : InvalidOperation: (:) [Get-ComputerRestorePoint], ArgumentException
    + FullyQualifiedErrorId : GetComputerRestorePointNotSupported,Microsoft.PowerShell.Commands.GetComputerRestorePoin
   tCommand

是否有一种简单的方法可以在运行之前测试 cmdlet 是否受支持?我知道我可以在 cmdlet 周围抛出一个 try catch,但与简单的检查相比,这种方法似乎相当昂贵。

谢谢

4

1 回答 1

1

您可以轻松检查会话中是否有可用的 cmdlet(使用 Get-Command),但没有直接的方法来测试可用的 cmdlet 是否支持当前操作系统。此 cmdlet 的帮助说明部分说:

NOTES

        To run a Get-ComputerRestorePoint command on Windows Vista and later versions 
        of Windows, open Windows PowerShell with the "Run as administrator" option.

        This cmdlet uses the Windows Management Instrumentation (WMI) SystemRestore 
        class.

但是,我不会依赖注释的准确性。我能想到的最好的就是你的建议,使用 try/catch。

于 2013-01-08T22:44:12.720 回答