Add-PsSnapin Microsoft.SharePoint.Powershell –ErrorAction SilentlyContinue
#Get-SPWebApplication 
     # Remove-SPWebApplication http://globas:1050 -Confirm -DeleteIISSite -RemoveContentDatabases
#Write-Host "Finished! Press enter key to exit." -ForegroundColor Green
#Read-Host
function Start-SiteCollectionCreate(
    [string]$settingsFile = "sites.xml") {
    [xml]$config = Get-Content $settingsFile
    
    $config.SiteCollections.SiteCollection | ForEach-Object {
#Create WebApplication
Write-Host   
      Write-Host   
      Write-Host "WebApplication Creating........"   
      Write-Host "******************************************"
New-SPWebApplication -Name $_.Name -Port $_.Port -AllowAnonymousAccess  -URL $_.SiteCreationUrl -ApplicationPool $_.Pool -ApplicationPoolAccount (Get-SPManagedAccount $_.OwnerLogin)
Write-Host   
      Write-Host   
      Write-Host "WebApplication Sucussfully Created........"  
Write-Host   
      Write-Host   
      Write-Host "Site collection Creating........"   
      Write-Host "******************************************"
        #Creating site collection
        Write-Host "Creating site collection $($_.Url)..."
        $gc = Start-SPAssignment
        $site = $gc | New-SPSite `
            -Url $_.Url `
            -Description $_.Description `
            -Language $_.LCID `
            -Name $_.Name `
            -Template $_.Template `
            -OwnerAlias $_.OwnerLogin `
            -OwnerEmail $_.OwnerEmail `
            -SecondaryOwnerAlias $_.SecondaryLogin `
            -SecondaryEmail $_.SecondaryEmail
            Stop-SPAssignment -SemiGlobal $gc
        # Associate Default Groups (Dan Holme: http://www.sharepointpromag.com/article/sharepoint/Create-a-SharePoint-Site-Collection-with-Windows-PowerShell-UI-Style)
        $MembersGroup = "$_.Name Members"
        $ViewersGroup = "Viewers"
        $web = Get-SPWeb $_.url
        $web.CreateDefaultAssociatedGroups($_.OwnerLogin,$_.SecondaryLogin,"")
        $PrimaryAdmin = Get-SPUser $_.OwnerLogin -Web $_.url
        $PrimaryAdmin.Name = $_.OwnerDisplay
        $PrimaryAdmin.Update()
        $SecondaryAdmin = Get-SPUser $_.SecondaryLogin -Web $_.url
        $SecondaryAdmin.Name = $_.SecondaryDisplay
        $SecondaryAdmin.Update()
        # Finish by disposing of the SPWeb object to be a good PowerShell citizen
        $web.Dispose()
        }
    }
# Execute the script            
Start-SiteCollectionCreate
Write-Host   
      Write-Host   
      Write-Host "Site Collection Created........"   
Write-Host "Finished! Press enter key to exit." -ForegroundColor Green
Read-Host
Xml File
<SiteCollections>                    
    <SiteCollection Name="globas-1020"
                    Description=""
                    SiteCreationUrl="http://globas:1020/"
                    Port="1020"
                    Pool="globas1020"
                    Url="http://globas:1020"
                    LCID="1033"
                    Template="STS#0"
                    OwnerLogin="glob\administrator"
                    OwnerEmail="administrator@sgs.com"
                    OwnerDisplay="Administrator"
                    SecondaryLogin="glob\administrator"
                    SecondaryEmail="admin@cdfdontoso.com"
                    SecondaryDisplay="SharePoint Farm">
    </SiteCollection>
</SiteCollections>
 
No comments:
Post a Comment