Microsoft云工程师 - SharePoint,Office 365,Azure,Dotnet,Agenular,JavaScript。
Microsoft云工程师 - SharePoint,Office 365,Azure,Dotnet,Agenular,JavaScript。

行政

重新引导SharePoint Farm.

快速代码段与您分享,用于重新启动完整的SharePoint Farm。  调用远程重新启动命令与任何有效的SharePoint角色的所有对等机器,然后重新启动本地计算机。  注 - 不包括SQL,但可以调整过滤器。  Cheers. 

shades_smile.

代码

Add-PSSnapIn "Microsoft.SharePoint.PowerShell"
$local = $env:COMPUTERNAME
$localFQDN = $env:COMPUTERNAME + "." + $env:USERDNSDOMAIN
$targets = Get-SPServer |? {$_.Role -ne "Invalid"} |? {$_.Address -ne $local -and $_.Address -ne $localFQDN} | Select Address
$targets |% {Write-Host "Rebooting $($_)"; Restart-Computer $_ -Force}
Restart-Computer -Force

下载

sprebootfarm.ps1.

实用PowerShell日志

所有计划的PowerShell文件都应该生成日志。 “启动记录”是一个很好的cmdlet。 添加更多功能可以提高运营支持。  日志答案要素支持问题如:

  • 哪个父ps1生成此日志?
  • 脚本是否执行所需的功能?
  • 任何错误吗?
  • 它花了多少时间?
  • 哪个用户和计算机运行脚本?

下面是代码模板我建议为计划的PowerShell作业生成日志。主要功能包括:

  • 自动检测当前文件夹和脚本PS1
  • 创造  \LOG\ subfolder
  • 匹配父ps1的前缀
  • 后缀与独特的日期时间戳
  • 经过持续时间(天,小时,分钟)

谢谢至@ToddKlindt用于改进公式和经过时间。  Cheers. 

shades_smile.

视频

代码

function Main() {
    ### YOUR CODE HERE
}

# Open Log
$prefix = $MyInvocation.MyCommand.Name
$host.UI.RawUI.WindowTitle = $prefix
$stamp = Get-Date -UFormat "%Y-%m-%d-%H-%M-%S"
Start-Transcript "$PSScriptRoot\log\$prefix-$stamp.log"
$start = Get-Date

Main

# Close Log
$end = Get-Date
$totaltime = $end - $start
Write-Host "`nTime Elapsed: $($totaltime.tostring("hh\:mm\:ss"))"
Stop-Transcript

下载

//github.com/spjeff/spadmin/blob/master/Practical-PowerShell-LOGs.ps1

返回顶部▲返回顶部▲