2013-01-08 34 views
1

我有一個PowerShell腳本是不斷拋出此錯誤測試,以檢查是否cmdlet用於支持

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周圍試試,但與簡單檢查相比,這種方法看起來相當昂貴。

感謝

回答

1

可以輕鬆地檢查如果cmdlet在會話中可用(使用GET命令),但還沒有一個直接的方法來測試,如果可用的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。