Last active
March 13, 2019 14:15
-
-
Save sebagomez/5dd1ad2a24e982aa6ef1c9e0efcadd05 to your computer and use it in GitHub Desktop.
Revisions
-
sebastian gomez revised this gist
Mar 13, 2019 . No changes.There are no files selected for viewing
-
sebastian gomez created this gist
Mar 13, 2019 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,58 @@ param( [Parameter(Mandatory = $true)] [string]$folder, [Parameter(Mandatory = $false)] [switch]$batch, [Parameter(Mandatory = $false)] [string]$sqlInstance=".\SQL2016" ) function Remove-KnowledgeBase() { Write-Host "About to remove $($kb_folder)" if (Test-Path "$($kb_folder)\knowledgebase.connection"){ [xml]$conn = Get-Content "$($kb_folder)\knowledgebase.connection" $db = $conn.ConnectionInformation.DBName if ($db) { $sql = "drop database [$($db)]"; sqlcmd -E -S $sqlInstance -Q $sql Write-Host $sql } } else { Write-Error "No knwoledgebase.connection file found, don't know what to detach" return; } Remove-Item $kb_folder -Recurse -Force } if (-not (Test-Path $folder)) { Write-Error "$($folder) is not a valid folder" -Category InvalidData -RecommendedAction "Send a valid Knowledge Base path" exit } $mdf = Get-ChildItem $folder -Filter *.gxw if ($mdf) { $kb_folder = $folder Remove-KnowledgeBase } else { if ($batch) { $kbs = Get-ChildItem $folder -Directory foreach ($kb in $kbs) { $kb_folder = $kb.FullName Remove-KnowledgeBase } } else { Write-Warning "The folder does not look like a valid Knowledge Base and you did not set the batch parameter" } }