SharePoint自动化系列——通过PowerShell创建SharePoint Site Collection

简介: 通过PowerShell创建SharePoint Site Collection,代码如下: Add-PSSnapin microsoft.sharepoint.powershell function CreateTeamSite() { $webApps = Get-SPWebApplication $webAppsUrl = $webApps.

通过PowerShell创建SharePoint Site Collection,代码如下:

Add-PSSnapin microsoft.sharepoint.powershell
function CreateTeamSite()
{
    $webApps = Get-SPWebApplication
    $webAppsUrl = $webApps.Url
    if($webApps.count -eq 1)
    {
        Write-Host "You have only one web application:"
        Write-Host $webApps.Url
        $choice = Read-Host "Do you want to create a site collection under this web application? Type 'y' to create.'"
        if($choice -eq "y")
        {
            $siteTitle = Read-Host "Enter the site collection's title:"
            $siteUrl = $webAppsUrl+"sites/"+$siteTitle
            Write-Host "Choose the site collecion's template:"
            Write-Host "[1].Template1."
            Write-Host "[2].Template2."
            Write-Host "[3].Template3."
            $choice = Read-Host "Enter the number to choose"
            SwitchSiteTemplateAndCreateSite $choice $siteUrl 
     $choice = Read-Host "Type 'y' to continue"
            if($choice -eq 'y')
            {
                CreateTeamSite
            }
        }
    }
    else
    {
        Write-Host "Choose the web application:"
        for($i=0;$i -le $webApps.count-1;$i++)
        {
            $tip = "[" + $i + "]." + $webApps[$i].Url
            Write-Host $tip
        }
        $choice = Read-Host "Enter the number to choose"
        $siteTitle = Read-Host "Enter the site collection's title"
        $siteUrl = $webApps[$choice].Url + "sites/"+$siteTitle
        Write-Host "Choose the site collecion's template:"
        Write-Host "[1].Template1."
        Write-Host "[2].Template2."
        Write-Host "[3].Template3."
        $choice = Read-Host "Enter the number to choose"
        SwitchSiteTemplateAndCreateSite $choice $siteUrl
        $choice = Read-Host "Type 'y' to continue"
        if($choice -eq 'y')
        {
            CreateTeamSite
        }
    }
}
function SwitchSiteTemplateAndCreateSite($choice,$siteUrl)
{
    switch($choice)
    {
        1 {$template = "Template1ID"}
        2 {$template = "Template2ID"}
        3 {$template = "Template3ID"}
    }
    if(($template -ne "Template1ID") -and ($template -ne "Template2ID") -and ($template -ne "Template3ID"))
    {
        $choice = Read-Host "Please enter the correct number."
        SwitchSiteTemplateAndCreateSite $choice $siteUrl
    }else
    {
        Write-Host "Site collection creating..."
        New-SPSite -Url $siteUrl -OwnerAlias "Administrator" -Language 1033 -Template $template
        Write-Host "Site collection created successfully."
    }
}
CreateTeamSite

文中Template和TemplateID可替换(其他部分也可以进行替换,看个人需求。),switch语句中可以扩展模板ID(相应在提示填写模板名处也要做相应的添加)。日常工作中,选择几个常用的模板ID和模板名填进去即可,UserName填写你常用的那个就可以,最好是所有环境都通用的user(这样就不会因为换了域就找不到用户了),不用填写域,因为SharePoint支持模糊搜索,会自动将你输入的名字进行匹配,比如你输入Tylan,如果在SharePoint中存在该用户的话,SharePoint在check用户名时会自动在其前面加上Domain,像这样:“Domain\Tylan”。

其实写成脚本就是为了方便日常工作,节省时间,具体要把哪些地方设成变量哪些地方进行硬编码可以根据工作需要而变,仍然是以提高工作效率为目的。如果是长久的项目,为了推广使用,做个窗体工具也未尝不可,关键是看有没有这个必要。

相关文章
|
23天前
|
监控 网络协议 安全
员工网络监控软件:PowerShell 在网络监控自动化中的应用
在数字化办公环境中,企业对员工网络活动的监控需求日益增长。PowerShell 作为一种强大的脚本语言,能够有效实现员工网络监控自动化。本文介绍了如何使用 PowerShell 获取网络连接信息、监控特定网址的访问情况,并生成自动化报告,帮助企业高效管理员工网络活动,确保网络安全和合规性。
35 0
|
2月前
|
监控 关系型数据库 MySQL
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
60 0
|
6月前
|
存储 SQL 运维
使用PowerShell进行自动化脚本编写:入门与实战
【6月更文挑战第6天】本文介绍了PowerShell作为Windows系统管理的自动化工具,用于提升效率和减少错误。内容涵盖PowerShell基础,如变量、命令执行、管道、条件和循环语句、函数。实战案例展示了如何用PowerShell脚本进行文件备份。此外,还提及PowerShell的进阶功能,如模块、远程管理和与其他工具集成。学习和应用PowerShell能有效提升IT运维自动化水平。
|
安全 数据安全/隐私保护 Windows
Powershell 免杀过 defender 火绒,附自动化工具
Powershell 免杀过 defender 火绒,附自动化工具
1218 0
|
3月前
|
Windows
Powershell 重新排列去重 Windows环境变量
【9月更文挑战第13天】本文介绍如何使用PowerShell对Windows环境变量进行重新排列和去重。首先通过`$env:`访问环境变量,接着使用`-split`命令分割路径,再利用`Select-Object -Unique`去除重复项。之后可根据需要对路径进行排序,最后将处理后的路径组合并更新环境变量。注意修改环境变量前应备份重要数据并了解潜在影响。
133 10