文字列をコマンドとして実行するには

PowerShellでは、文字列として記述されているコマンドを実行することが可能です。

たとえばテキストファイルなどから文字を読み取ってコマンドとして実行するような場合に有効です。

これを実現するにはInvoke-Expressionコマンドレットを使用します。

たとえば”Get-Date”が文字列の場合は

Invoke-Expression "Get-Date"

で実行することができます。

実際の実行結果を下記に示します。

Invoke-Expressionの実行例

システムを復元するには

Restore-Computerコマンドレットを使用すると、復元ポイントを使用して、システムを復元することができます。

このコマンドレットの実行には管理者権限が必要なので、注意が必要です。

システムを復元する際には、-RestorePointパラメータを使用して復元ポイントの番号を指定する必要があります。

この番号はGet-ComputerRestorePointで取得することができます。利用方法については「復元ポイントを取得するには」の記事を参照してください。

復元ポイント番号44指定して、システムを復元するには以下のようにします。

Restore-Computer -RestorePoint 44

このコマンドレットは、実行するとコンピューターが再起動されます。

筆者は、このコマンドレットを実行してみて、いきなり再起動が始まったのでかなり焦りました…

復元ポイントを作成するには

CheckPoint-Computerコマンドレットを使用すると、ローカルコンピューターの復元ポイントを作成することができます。

このコマンドレットの実行には管理者権限が必要なので、注意が必要です。

復元ポイントを作成する際には、-Descriptionパラメータを使用して説明を記述する必要があります。

たとえば、「20120310の復元ポイント」という説明を加える場合には以下のようにします。

Checkpoint-Computer -Description "20130310の復元ポイント"

過去24時間以内に復元ポイントが作成されている場合には、下図のような警告メッセージが表示され、新しい復元ポイントを作成することはできません。

24時間以内に復元ポイントが作成され絵いる場合の例

-RestorePointTypeパラメータを使用すれば、復元ポイントの種類(表1)を指定することもできます。

 表1 復元ポイントの種類
説明
 APPLICATION_INSTALL アプリケーションのインストール
APPLICATION_UNINSTALL アプリケーションのアンインストール
DEVICE_DRIVER_INSTALL デバイスドライバのインストール
MODIFY_SETTINGS システム変更
CANCELLED_OPERATION 復元ポイント操作の取り消し

たとえば「アプリケーションのインストール」を種類に指定する場合には以下のようにします。

Checkpoint-Computer -Description "20130310の復元ポイント" -RestorePointType APPLICATION_INSTALL

システム復元を無効にするには

Disable-ComputerRestoreコマンドレットを使用すると、システムの復元機能を無効にすることができます。

このコマンドレットの実行には管理者権限が必要なので、注意が必要です。

このコマンドレットの実行には-Driveパラメータを必要とし、システム復元を無効にするドライブを指定する必要があります。

たとえばCドライブのシステム復元を有効にする場合には、下記のようにします。

Disable-ComputerRestore -Drive C:\

システム復元を有効にするには

Enable-ComputerRestoreコマンドレットを使用すると、システムの復元機能を有効にすることができます。

このコマンドレットの実行には管理者権限が必要なので、注意が必要です。

このコマンドレットの実行には-Driveパラメータを必要とし、システム復元を有効にするドライブを指定する必要があります。

たとえばCドライブのシステム復元を有効にする場合には、下記のようにします。

Enable-ComputerRestore -Drive C:\