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

コメント

  1. yuki より:

    こんにちは。
    過去の情報発信投稿など拝見させていただきました。
    その中で、PowerShellを用いたWindows機能操作について1点質問させて下さい。

    ・DVDなど、メディアの初期化について
    通常GUI操作でマイコンピュータ>対象ドライブ>右クリック>メディアの削除 などの手順で初期化されるとおもいますが、こちらの作業をスクリプトを用いて操作かのうでしょうか。
    また、スクリプトからメディアのフォーマット形式(ライブファイルシステム・マスタディスクといったもの)を判別する方法などございますでしょうか。

    現在も勉強中ですが、この箇所が分からずこの場をお借りしてご質問させて頂きました。ご解答頂ければ幸甚です。

    ※Format()ではFAT形式に初期化され、まっさら状態にならず困っています。
     
    $drive = Get-WmiObject -Class win32_volume -Filter “DriveLetter = D:'”
    $drive.Format(“FAT32″,$true,4096,”testFormat”,$false)

タイトルとURLをコピーしました