注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

忘忧草的博客

品味人生--精通IT管理和技术

 
 
 

日志

 
 
 
 

如何在windows计划中调用备份sharepoint2010网站集的powershell脚本  

2013-08-26 16:20:01|  分类: Moss2010 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

最近有个项目需要在在windows计划中使用powershell脚本备份sharepoint2010网站集,打开sharepoint的powershell执行命令管理界面的属性

image

image

查看:

C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -NoExit " & ' C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1 ' "

先看看PowerShell.exe 的帮助

PowerShell.exe 控制台帮助 
从另一工具(如 Cmd.exe)的命令行启动 Windows PowerShell。 

语法 
PowerShell[.exe]
       [-PSConsoleFile <file> | -Version <version>]
       [-EncodedCommand <Base64EncodedCommand>]
       [-ExecutionPolicy <ExecutionPolicy>]
       [-File <filePath> <args>]
       [-InputFormat {Text | XML}] 
       [-NoExit]
       [-NoLogo]
       [-NonInteractive] 
       [-NoProfile] 
       [-OutputFormat {Text | XML}] 
       [-Sta]
       [-WindowStyle <style>]
       [-Command { - | <script-block> [-args <arg-array>]
                     | <string> [<CommandParameters>] } ]

PowerShell[.exe] -Help | -? | /?
参数 
-EncodedCommand 
接受命令的 Base 64 编码字符串版本。使用此参数可向 Windows PowerShell 提交需要复杂引号或大括号的命令。 

-ExecutionPolicy 
设置会话的默认执行策略。此参数不会更改在注册表中设置的 Windows PowerShell 执行策略。 

-File 
运行指定的脚本。请输入脚本文件路径和一些参数。 

-InputFormat 
描述发送至 Windows PowerShell 的数据格式。有效值为"Text"(文本字符串)或"XML"(序列化 CLIXML 格式)。 

-NoExit 
运行完启动命令后不退出。 

-NoLogo 
启动时隐藏版权标志。 

-NonInteractive 
不向用户显示交互式提示。 

-NoProfile 
不加载 Windows PowerShell 配置文件。 

-OutputFormat 
确定 Windows PowerShell 的输出格式。有效值为"Text"(文本字符串)或"XML"(序列化 CLIXML 格式)。 

-PSConsoleFile 
加载指定的 Windows PowerShell 控制台文件。若要创建控制台文件,请使用 Windows PowerShell 中的 Export-Console cmdlet。 

-Sta 
使用单线程单元启动 shell。 

-Version 
启动 Windows PowerShell 的指定版本。请随该参数输入一个版本号,例如"-version 1.0"。 

-WindowStyle 
将窗口样式设置为 Normal、Minimized、Maximized 或 Hidden。 

-Command 
按照执行在 Windows PowerShell 命令提示符下键入的命令那样,执行指定的命令和所有参数;如果未指定 NoExit,则执行完命令后将退出。Command 的值可以是"-"、字符串或脚本块。 

如果 Command 的值为"-",则从标准输入中读取命令文本。 

脚本块必须括在大括号 ({}) 中。只有在 Windows PowerShell 中运行 PowerShell.exe 时才能指定脚本块。脚本的运行结果将作为反序列化 XML 对象(而非活动对象)返回父 shell。 

如果 Command 的值为字符串,则 Command 必须是该命令的最后一个形式参数,因为其后键入的所有字符都会被解释为它的实际参数。 

若要编写运行 Windows PowerShell 命令的字符串,请使用以下格式: 

"& {<command>}"
其中,引号指示一个字符串,调用运算符 (&) 用于执行命令。 

-Help, -?, /? 
显示此消息。如果要在 Windows PowerShell 中键入 PowerShell.exe 命令,请将连字符 (-) 作为命令参数的前缀,而不要使用正斜杠 (/)。在 Cmd.exe 中,既可以使用连字符,也可以使用正斜杠。 

示例 
PowerShell -PSConsoleFile sqlsnapin.psc1

PowerShell -version 1.0 -NoLogo -InputFormat text -OutputFormat XML

PowerShell -Command {Get-EventLog -LogName security}

PowerShell -Command "& {Get-EventLog -LogName security}"

# To use the -EncodedCommand parameter:
$command = "dir 'c:\program files' "
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
powershell.exe -encodedCommand $encodedCommand

了解如上信息。我们来编写用powershell备份网站集的脚本。代码如下:

   1: #//*************************************************************
   2: #//编辑人:忘忧草
   3: #//编辑单位:XXX
   4: #//编辑作用:备份所有站点,按照周1到周日创建7个文件夹
   5: #//编制时间:2013.08.26
   6: #//*************************************************************
   7: #**************************************************默认C#盘下,需要改动如下参数
   8: $Location = "d:\"
   9: #网站集URL
  10: $siteUrl="http://xx.xxx.com"
  11: #**************************************************
  12: #根目录名称
  13: $RootName="EPBackUp"
  14: #子文件夹
  15: $folderName = (Get-Date).DayOfWeek
  16: #全路径
  17: $folderPath = $Location + "\" + $RootName
  18: #如果根文件夹不存在。则创建根文件夹
  19: Write-Host "开始创建根文件夹...---------------"
  20: If((Test-Path $Location) -eq $False) {
  21:     New-Item -path $Location -name $RootName -itemType "directory"
  22: }
  23: Write-Host "创建根文件夹完毕...---------------"
  24:  
  25: #如果星期文件夹不存在,则创建星期文件夹
  26: Write-Host "开始创建周期文件夹...---------------"
  27: If((Test-Path $folderPath) -eq $False) {
  28:     New-Item -path $folderPath -name $folderName -itemType "directory"
  29: }
  30: Write-Host "创建周期文件夹完毕...---------------"
  31:  
  32: #******************************************************************
  33: #添加如下2行代码为windows计划执行使用,否则windows计划无法执行ps1
  34: Add-PSSnapin "Microsoft.SharePoint.PowerShell"
  35: Set-ExecutionPolicy -ExecutionPolicy "Unrestricted" -Force
  36: #******************************************************************
  37: #整个文件夹全路径
  38: $BackupFilePath = $folderPath + "\" + $folderName
  39:  
  40: #公司门户文件夹
  41: $epName = $BackupFilePath + "\SPSite_EP.bak"
  42: Write-Host "开始备份公司门户...---------------"
  43: backup-SPSite $siteUrl -Path $epName -force
  44: Write-Host "备份公司门户完毕...---------------"
  45:  
  46: #学习与发展门户文件夹
  47: $KMSiteUrl = $siteUrl +"/km"
  48: $KMName = $BackupFilePath + "\SPSite_KM.bak"
  49: Write-Host "开始备份学习与发展...---------------"
  50: backup-SPSite $KMSiteUrl -Path $KMName -force
  51: Write-Host "备份学习与发展完毕...---------------"
  52:  
  53: #协作空间文件夹
  54: $WorkSiteUrl = $siteUrl +"/workspace"
  55: $WorkName = $BackupFilePath + "\SPSite_WorkSpace.bak"
  56: Write-Host "开始备份协作空间...---------------"
  57: backup-SPSite $WorkSiteUrl -Path $WorkName -force
  58: Write-Host "备份协作空间完毕...---------------"

创建windows计划

注意点:

#******************************************************************
#添加如下2行代码为windows计划执行使用,否则windows计划无法执行ps1
Add-PSSnapin "Microsoft.SharePoint.PowerShell"
Set-ExecutionPolicy -ExecutionPolicy "Unrestricted" -Force
#******************************************************************

创建基本任务

image

image

image

image

image

1)、程序脚本:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

2)、添加参数:-NonInteractive? "c:\BackUp.ps1"

image

image

我们测试下效果图:

image

image

  评论这张
 
阅读(447)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017