Wednesday, December 21, 2011

How to check Site collection on Content DB or Content DB from Web Application in SharePoint 2010


There is Power shell command by which you can get the details of Site collection listed in a content db.

 

 

List of Site collection from Content DB Name

 

PS C:\Users\Administrator > Get-SPsite -ContentDatabase WSS_Content

 

Result of this command will be like

 

Url                                                   

---                                                   

http://<Server Name>                                  

http://<ServerName>/sites/SearchCenter    

 

 

List of content DB  from Site URL

 

PS C:\Users\Administrator > Get-SPContentDataBase  -WebApplication http://<Server Name>

 

Result of this command will be like

 

 

Id                                   : 6535eccc-0189-43d4-b022-5123e4ee8507

Name                             : WSS_Content

WebApplication               : SPWebApplication Name=SharePoint - 80

Server                           : ServerName

CurrentSiteCount            : 2


Monday, December 19, 2011

Deploy WSP through PowerShell script in SharePoint 2010

In SharePoint 2010, we have power shell commands to do most of share point functionality.

Here is simple script to Uninstall-remove- add-install for any WSP


<#
Name       : WSPDeployment.ps1
Created by : Rajesh Soni
Created on : 19th Dec 2011
Purpose    : Deployment Script for WSPs,Before executing change all the veriables name defined at the top of ps script
#>

Add-PSSnapin Microsoft.SharePoint.Powershell

$WSPPath ="C:\WSPs\"
$WSPName="abc.wsp"
$WSPNameWithPath=$WSPPath +''+$WSPName
$SiteURL ="http://<URL Site>/"


function WaitForJobToFinish([string]$SolutionFileName)
    $JobName = "*solution-deployment*$SolutionFileName*"
    $job = Get-SPTimerJob | ?{ $_.Name -like $JobName }
    if ($job -eq $null) 
    {
        Write-Host 'Timer job not found'
    }
    else
    {
        $JobFullName = $job.Name
        Write-Host -NoNewLine "Waiting to finish job $JobFullName"
        
        while ((Get-SPTimerJob $JobFullName) -ne $null) 
        {
            Write-Host -NoNewLine .
            Start-Sleep -Seconds 2
        }
        Write-Host  "Finished waiting for job.."
    }
}


Write-Host "Uninstall Solutions "

Uninstall-SPSolution –Identity $WSPName -confirm:$false -WebApplication $SiteURL  
WaitForJobToFinish  $WSPName

Write-Host "Remove Solutions "
Remove-SPSolution –Identity $WSPName -confirm:$false


Write-Host "Add Solutions "

Add-SPSolution $WSPNameWithPath

Write-Host "Install Solutions "
Install-SPSolution –Identity $WSPName -Force -GACDeployment  -WebApplication $SiteURL  
WaitForJobToFinish  $WSPName

Write-Host -Fore Green "Successfully deployed"


Write-Host -Fore Green "List of solutions at server"

Get-SPSolution 

Remove-PsSnapin Microsoft.SharePoint.PowerShell