IISのバックアップを行う

Backup-WebConfigurationコマンドレットを使用するとIIS構成のバックアップを簡単に作成することができます。

PowerShell2.0以下の場合、このコマンドレットを使用する場合はWebAdministrationのモジュールを読み込んでおく必要があります。

Import-Module WebAdministration

Backup-WebConfigurationコマンドレットは、-Nameパラメータにバックアップ名を指定して実行します。

下記は”FirstBackup”という名前でバックアップをする例です。

Backup-WebConfiguration -Name "FirstBackup"

Backup-WebConfiguration

バックアップが成功すると上図のようにバックアップ名称と、作成日が表示されます。

ネットワークアダプタの名称を変更する

Rename-NetAdapterコマンドレットを使用すると、ネットワークアダプタの名称を変更することが可能です。

前回紹介したGet-NetAdapterコマンドレットを使用して、現在のネットワークアダプタ情報を取得して、パイプでRename-NetAdapterコマンドレットに渡すのが簡単でしょう。名称を変更する場合は-NewNameパラメータを使用します。

下記に使用例を示します。
*PowerShellは管理者モードで実行する必要があります。実行結果の責任は負いかねますので、注意願います。

Get-NetAdapter | Rename-NetAdapter -NewName マイネット

IISのウェブアプリケーションをPowerShellで削除

めっちゃ久々に投稿します。よ、4年ぶり???www

開発の仕事をしていると、開発マシンのIIS内にウェブアプリケーションがたくさん作成されます。数十個または百個余りのウェブアプリケーションをIISマネージャーから右クリックして削除となると大変時間がかかりますね。Shift+クリックができないのがその大きな理由です。そこでPowerShellを使用して一気に削除する方法を紹介します。

PowerShellではIIS自体をファイルシステムのように扱うことができます。それができるようにするには、PowerShellのアイコンを右クリックして「システムモジュールをインポートする」をクリックします。

image

次にIIS:と入力してEnterキーを押すと、IISドライブが登場して、dirコマンドを入力すると以下の画像のように表示されます。

SNAGHTMLc1592

今度はSites\Defailt Web Siteに入ってdirコマンドを入力すると、以下のようにDefault Web Site内に存在するファイルやディレクトリや仮想ディレクトリがリストされます。

image 

ここで次のコマンドを入力します。以下のコマンドは本当にすべてのウェブアプリケーション、そしてそれに対応するディレクトリを削除しますので、気をつけて自己責任で実行してください。

dir | where {$_.NodeType –eq “application”} | foreach {del $_.PhysicalPath; Remove-Item $_.Name –recurse}

再びdirを入力すると、以下のようにtest1とtest2のウェブアプリケーションが削除されました。これはIISマネージャーで確認しても同じです。

image

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

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

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

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

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

Invoke-Expression "Get-Date"

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

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

Invoke-Expressionの実行例