PowerShell - 特定の管理パスの下のすべてのサイトコレクションを削除/削除する
-
29-09-2020 - |
質問
チームサイト - 「ワークスペース」と呼ばれる私のチームサイトの管理パスを作成しました。すべてのチームサイトが同じ管理パスの下で作成されました。
ex:
http://awesome.com/workspaces/teamsite1
http://awesome.com/workspaces/teamsite2
.
管理されたパスの下のすべてのチームサイトをリストできますか?
私が欲しいのは、特定の管理パスの下ですべてのサイトコレクションを削除することです。(サイトコレクションとDBエントリを削除)
解決
リストを一覧表示するには、実際にはパスの下のすべてのサイトが表示されます。
Get-SPSite "http://awesome.com/workspaces*" -Limit ALL
.
削除するには、
を使用できるはずですGet-SPSite "http://awesome.com/workspaces*" -Limit ALL | Remove-SPSite -Confirm:$false
.
を使うことができます
Remove-SPContentDatabase -Identity {GUID}
.
コンテンツデータベースを削除する
他のヒント
次のコマンドを使用してPowerShellを使用してサイトコレクションを削除できます。
$tmpRoot = Get-SPWebApplication -Identity http://SP:2000
$tmpRootColl=$tmpRoot.Sites
#Enumerate through each site collection
for ($index=$tmpRootColl.Count-1 ; $index-ge 0 ; $index–-)
{
Remove-SPSite -Identity $tmpRootColl.Item($index) -GradualDelete -Confirm:$false
}
Get-SPDeletedSite | Remove-SPDeletedSite
.
ここで、 $ tmproot はWebアプリケーションと $ tmprootcoll はWebアプリケーションの下のサイトのコレクションです
このブログから説明を含むフルコードを見つける codeplayandlearn
所属していません sharepoint.stackexchange