Position=0,
Mandatory=$true,
ValueFromPipeline=$true
)]
[Microsoft.SharePoint.SPList]$SPList,
[Parameter(Mandatory=$false)]
[bool]$EnableVersioning = $null,
[Parameter(Mandatory=$false)]
[bool]$EnableMinorVersions = $null,
[Parameter(Mandatory=$false)]
[int]$MajorVersionLimit = -1,
[Parameter(Mandatory=$false)]
[int]$MajorWithMinorVersionsLimit = -1
)
if($SPList -ne $null) {
if($EnableVersioning -ne $null) (
$SPList.EnableVersioning = $EnableVersioning
)
if($MajorVersionLimit -gt -1) {
SSPList.MajorVersionLimit = $MajorVersionLimit) '
if($SPList.BaseType -eq "DocumentLibrary") ( if($EnableMinorVersions -ne $null) {
SSPList.EnableMinorVersions = SEnableMinorVersions
if($MajorWithMinorVersionsLimit -gt -1) { $SPList.MajorWithMinorVersionsLimit = $MajoiWithMinorVersionsLimit
)
}
$SPList. Update ()
}
)
Если администратору требуется разрешить наличие пяти главных версий и всех второстепенных версий для каяадой из трех последних главных версий, то эту функцию нужно вызвать так:
Get-SPSite I Get-SPWeb -Limit All I ForEach-Object 4>{Get-SPList S_ I ForEach-Object
4MSet-SPList $_ -EnableMinorVersions $true -EnableVersioning $true ’Ъ-MajorVersionLimit 5 •fe-MajorWithMinorVersionsLimit 3})
Оперативное создание элементов списков
При создании сайтов, предназначенных для демонстрации и презентаций, может пригодиться функция PowerShell для создания элементов в списках. Ниже приведен пример такой функции. Она создает элемент в пользовательском списке и назначает ему только заголовок, но ее можно расширить так, чтобы создавать и более сложные элементы.
Function New-SPListItem()
{
param(
[Parameter(
Position=0,
Mandatory=$true,
ValueFromPipeline=$true
)]
[Microsoft.SharePoint.SPList]$SPList,
[Parameter(
Position=l,
Mandatory=$true
)1
[string]STitle
)
[Microsoft.SharePoint.SPListltem] $listltem = SSPList. Items. Add ();
$listltem["Title"] = STitle Slistltem.Update()
»
Для вызова этой функции можно ввести такой код:
Get-SPWeb " http://portal.companyABC.com/A-Proiect-Site " I 4>Get-SPList -Title "The Team" I 4>New-SPListltem -Title "Иван Белов"
Get-SPWeb " http://portal.companyABC.com/A-Proiect-Site " |
4>Get-SPList -Title "The Team" |
4>New-SPListltem -Title "Анна Зеленская"
Get-SPWeb " http://portal.companyABC.com/A-Proiect-Site " I 4>Get-SPList -Title "The Team" |
4>New-SPListltem -Title "Зоя Серая"
Этот код создаеттри новых элемента (Иван Белов, Анна Зеленскаяи Зоя Серая) в списке "The Team", находящемся в сайте:
" http://portal.companyABC.com/A-Project-Site "
управление серверными системами с помощью PowerShell
С помощью PowerShell можно также управлять серверными системами в среде SharePoint. Компания Microsoft и сторонние разработчики выпустили многочисленные пакеты для управления различными системами, из них наиболее важными для среды SharePoint являются пакеты управления для IIS, Windows-серверов и Active Directory.
Оснастка Windows PowerShell для IIS 7.5
Компания Microsoft выпустила оснастку PowerShell для IIS, которая помогает автоматизировать наиболее часто выполняемые операции с сайтами и пулами IIS. Администраторы сложных сред SharePoint могут в автоматическом режиме очищать отдельные веб-сайты, возвращать для использования пулы приложений, создавать резервные копии для конфигураций IIS и т.д.
Оснастка IIS доступна для загрузки по адресу:
http://www.iis.net/ 0xpand/PowerShell
После загрузки следуйте экранным инструкциям по установке оснастки.
Для использования оснасток из этого пакета его необходимо добавить с помощью команды
Add-PsSnapin WebAdministration
Организация данной оснастки не отличается от оснастки SharePoint, и для знакомства с командлетами можно также воспользоваться командлетами Get-Command и Get-Help. Для вывода списка всех веб-приложений и пулов используйте следующий код:
# Выводит спиок всех веб-приложений (сайтов и пулов) в IIS
Get-WebApplication
# Выводит имена всех остановленных веб-сайтов
Get-WebSite | Where {$_.State -eq "Stopped"1 | Select Name
Команды с именами, начинающимися на Start, Stop и Restart, позволяют выполнять эти действия с веб-сайтами и пулами. Чтобы сбросить содержимое пула центра администрирования SharePoint, введите такую команду:
# Перезапуск пула для приложения центра администрирования
Restart-WebAppPool "SharePoint Central Administration v4"
Командлеты для управления Windows-серверами PowerShell
Командлеты PowerShell для управления Windows-серверами встроены в ядро PowerShell, и их не нужно специально загружать. В средах SharePoint они позволяют управлять, например, Windows-службами SharePoint, файловыми системами и т,д.
Читать дальше