Get-spwebapplication

Создание отчетов о пользователях

Может потребоваться получить отчет для нескольких сайтов и отобразить пользователей для этих сайтов, их уровень разрешений и другие свойства. Вот как выглядит синтаксис команды:

Команда получает данные для этих трех сайтов и записывает их в текстовый файл на локальном диске. Параметр -Append добавит новое содержимое в существующий файл.

Например, запустим отчет на сайтах ContosoTest, TeamSite01 и Project01 клиентской организации Contoso1.

Нам пришлось изменить только $site переменную . Переменная $tenant сохраняет свое значение во всех трех запусках команды.

Но что делать, если вы хотите сделать это для каждого сайта? Используйте эту команду, чтобы не вводить все нужные веб-сайты:

Это довольно простой отчет, и вы можете добавить код, чтобы создать более сложные отчеты или отчеты с более подробной информацией. Но это должно дать вам представление о том, как использовать командную консоль SharePoint Online для управления пользователями в среде SharePoint Online.

Разрешения

Прежде чем использовать командлет Add-SPShellAdmin, чтобы предоставить пользователям разрешения на выполнение командлетов SharePoint Server, убедитесь, что соблюдены следующие минимальные требования:

  • Вы должны быть участником предопределенной роли сервера securityadmin в экземпляре SQL Server.
  • Вы должны входить в группу «Администраторы» сервера, на котором выполняется командлет PowerShell.

Примечание.

Если этих разрешений недостаточно, обратитесь к администратору установки или администратору SQL Server за дополнительными разрешениями.

Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.

Если вы не являетесь участником роли SharePoint_Shell_Access или локальной группы WSS_Admin_WPG, используйте командлет Add-SPShellAdmin для добавления группы WSS_Admin_WPG на все интерфейсные веб-серверы в ферме SharePoint и в роль SharePoint_Shell_Access. Если в базе данных SQL Server отсутствует роль SharePoint_Shell_Access, она автоматически создается при выполнении командлета Add-SPShellAdmin. После выполнения командлета Add-SPShellAdmin пользователи могут выполнять командлеты SharePoint PowerShell в среде фермы с несколькими серверами.

Примечание.

Учетной записи пользователя, под которой выполнялась установка SharePoint Server, предоставляются соответствующие разрешения на выполнение командлетов PowerShell. Если вам требуется предоставить разрешения на выполнение командлетов PowerShell другим пользователям, используйте для этого командлет Add-SPShellAdmin.

Чтобы просмотреть список всех командлетов SPShellAdmin, введите Get-Command -Noun SPShellAdmin в командной строке PowerShell.

PowerShell to List All Documents in SharePoint Online

Here is the PowerShell for SharePoint Online to get a list of files in the document library:

#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
     
#Config Parameters
$SiteURL= "https://crescent.sharepoint.com/sites/marketing"
$LibraryName = "Shared Documents"
$CSVPath = "C:\Temp\DocumentsInventory.csv"
 
#Get Credentials to connect
$Cred = Get-Credential
 
Try {
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
     
    #Get the Web and List
    $Web = $Ctx.Web
    $Ctx.Load($Web)
    $List = $Web.Lists.GetByTitle($LibraryName)
    $Ctx.Load($List)
    $Ctx.ExecuteQuery()

    #Prepare the query
    $Query = New-Object Microsoft.SharePoint.Client.CamlQuery
    $Query.ViewXml = "@
    <View Scope='RecursiveAll'>
        <Query>
            <OrderBy><FieldRef Name='ID' Ascending='TRUE'/></OrderBy>
        </Query>
        <RowLimit Paged='TRUE'>2000</RowLimit>
    </View>"
 
    $Counter=1
    $DataCollection = @()
    #Batch Process items
    Do {
        #powershell sharepoint online list all documents
        $ListItems = $List.GetItems($Query) 
        $Ctx.Load($ListItems)
        $Ctx.ExecuteQuery()
        $Query.ListItemCollectionPosition = $ListItems.ListItemCollectionPosition

        #Iterate through each document in the library
        ForEach($ListItem in $ListItems| Where {$_.FileSystemObjectType -eq "File"})
        {
            #Display a Progress bar
            Write-Progress -Activity "Scanning Files in the Library" -Status "Collection file's Inventory '$($Item.FieldValues.FileRef)' ($Counter of $($List.ItemCount))" -PercentComplete (($Counter / $List.ItemCount) * 100)

            #Collect data        
            $DataCollection += New-Object PSObject -Property ( @{
                FileName    = $ListItem.FieldValues
                RelativeURL = $ListItem.FieldValues
                CreatedBy   = $ListItem.FieldValues
                CreatedOn   = $ListItem.FieldValues
                ModifiedBy  = $ListItem.FieldValues
                ModifiedOn  = $ListItem.FieldValues
                FileSize    = $ListItem.FieldValues
            })
            $Counter++
        }
    }While($Query.ListItemCollectionPosition -ne $Null)

    #Export Documents data to CSV
    $DataCollection | Export-Csv -Path $CSVPath -Force -NoTypeInformation
    Write-host -f Green "Documents Data Exported to CSV!"
}
Catch {
    write-host -f Red "Error:" $_.Exception.Message
}

This PowerShell lists all files and exports the data to a CSV report!

Симулирование создания событий использования Views

Теперь, когда наша CSWP может правильно регистрирует события использования, следующим шагом является фактическое создание событий использования. В нашем случае мы изменили CSWP на представления журналов. Если сайт Contoso был в рабочей области, посетители создают событие использования представлений каждый раз, когда они просматривают элемент на веб-сайте. Но сайт Contoso — это только демонстрационный сайт. Поэтому в нем нет посетителей.

При настройке сайта вам, скорее всего, потребуется протестировать функцию аналитики использования перед ее помещением в рабочую среду. Чтобы протестировать функцию аналитики использования, необходимо создать события использования. Чтобы создать правила на основе событий использования, минимум три пользователя должны нажать один и тот же элемент.

Не существует одного правильного способа симулирования создания событий использования Views. Чтобы создать события использования представлений для сайта Contoso, может потребоваться пригласить коллег на «щелчок». Чтобы убедиться, что рекомендации созданы, предоставьте каждому пользователю список элементов для щелчка. Таким образом, можно убедиться, что по крайней мере три пользователя щелкают одинаковые элементы.

Вот пример инструкции, которую вы можете дать своим сотрудникам:

Когда аналитика использования запущена, SV Keyboard E10 создаст правило для WWI Desktop PC2.30 M2300 (люди, которые просмотрели WWI Desktop PC2.30 M2300, также просмотрели SV Keyboard E10). WWI Desktop PC2.30 M2300 создаст правило для SV Keyboard E10 (люди, которые просмотрели SV Keyboard E10, также просмотрели WWI Desktop PC2.30 M2300).

SharePoint Online: Get a File using PowerShell

Here is how to access a file in SharePoint Online through PowerShell:

#Parameters
$SiteURL= "https://crescent.sharepoint.com/sites/marketing"
$FileRelativeURL = "/sites/marketing/Shared Documents/Proposal Template.docx"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
 
#Get the File as List Item
$File = Get-PnPFile -Url $FileRelativeURL -AsListItem
 
#Get File Size
Write-host "File Size (KB):"$File

Get Contents of a File Stored in SharePoint Online

How about reading the contents of a log file stored in a SharePoint Online document library?

#Parameters
$SiteURL= "https://crescent.sharepoint.com/sites/PMO"
$FileRelativeURL = "/sites/PMO/Shared Documents/Log.txt"
 
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive
  
#Get the Contents of the File
$File = Get-PnPFile -Url $FileRelativeURL -AsString

Write-host $File

If you are looking for downloading a file, refer to PowerShell script to download a file from SharePoint Online

  • Get All Files from a SharePoint Online Document Library using PowerShell
  • PowerShell to Get Files from a Folder in SharePoint Online

PowerShell SharePoint Online

We can also use PowerShell for SharePoint Online, we can use (PowerShell) SharePoint management shell to work with SharePoint site collections, sites/subsites, list or libraries etc.

SharePoint Online PowerShell commands are starting with “-SPO” like New-SPOSite

Download and Install SharePoint Online Management Shell

To work with PowerShell SharePoint Online, you need to download and install SharePoint Online management shell.

Download SharePoint Online Management Shell

Once downloaded, install it and then you can see SharePoint Online Management Shell in your system, by using which you can connect to SharePoint Online Office 365.

You can follow below article to know step by step how to download and install SharePoint Online Management Shell.

  • Download and Install SharePoint Online Management Shell
  • How to connect to SharePoint online site using SharePoint Online Management Shell?
  • How to Set up your SharePoint 2013 Online Management Shell to connect to SharePoint online sites?

You can also install SharePoint Online Management shell if you are using PowerShell 5 or newer versions in your system. You can run the below command in PowerShell (Administrative mode).

Once you run the about PowerShell command, it will also install SharePoint Online Management shell.


Download SharePoint Online Management Shell

Now you can run the below PowerShell commands to connect to SharePoint Online sites.

The above PowerShell SharePoint cmdlets display all the SharePoint Online sites in Office 365.

Work with PowerShell SharePoint Online using Client Side Object Model (csom)

There is another efficient way we can work with PowerShell SharePoint Online using client side object model (csom). For this you required the below two dlls:

  • Microsoft.SharePoint.client.dll
  • Microsoft.SharePoint.client.runtime.dll

Now to work with CSOM in PowerShell SharePoint, you need to add the above SharePoint client dll’s reference at the beginning of the PowerShell script.

Note, the above path is from a SharePoint server, but if you have not installed SharePoint like in any windows 10 laptop, you download the client dlls from Nuget package and you can refer it from there like below:

PowerShell SharePoint Online Examples (CSOM)

Below are few PowerShell SharePoint Online examples where we are using client side object model (csom).

  • Delete list items created before N days using PowerShell in SharePoint Online: This PowerShell SharePoint explains how to delete list items which are created before N days using PowerShell SharePoint Online. This example, delete items created before 7 days using PowerShell SharePoint.
  • Retrieve List Items Created in Last N days using PowerShell SharePoint Online: This PowerShell SharePoint tutorial explains how to retrieve list items created in last N days using PowerShell in SharePoint Online. This PowerShell SharePoint example explains how to retrieve list items created in the last 7 days.
  • SharePoint online Remove app using PowerShell: This SharePoint Online PowerShell tutorial explains how to remove apps or add-ins using PowerShell.
  • Steps to Increase SharePoint Online Storage Quota using PowerShell: You can increase SharePoint Online site storage quota using PowerShell SharePoint.
  • SharePoint Online check if File exists or not in a document library using PowerShell: This SharePoint Online PowerShell tutorial explains how to check if a file exists or not in a document library in SharePoint Online.
  • Upload large files to SharePoint online document library using PowerShell csom: This PowerShell SharePoint Online tutorial explains, how to upload large files to the SharePoint Online document library using PowerShell.
  • Insert item to SharePoint Online list using PowerShell: This PowerShell SharePoint Online tutorial explains how to insert items to SharePoint Online list.
  • SharePoint Online Office 365 Delete and Restore Site Collection using PowerShell: This SharePoint Online tutorial explains how to delete and restore a SharePoint Online site collection using PowerShell SharePoint in Office 365.

Допустимые значения

Изменение домашней страницы с помощью параметров сайта и SharePoint Designer ограничено из-за использование интерфейса. С помощью PowerShell можно достичь большей гибкости.

Ограничения, накладываемые SharePoint при задании домашней страницы:

  • Путь должен быть относительным по отношению к корневой папке сайта;
  • Путь не должен содержать двух точек.

В противном случае будет выдано соответствующее исключение:

Exception setting «WelcomePage»: «The WelcomePage property must be a path that is relative to the folder, and the path cannot contain two consecutive periods (..).»

На этом ограничения заканчиваются.

Любой файл на сайте

Начальной страницей может быть не только страница, но и любой файл на сайте. Указав в качестве домашней страницы ссылку на изображение в библиотеке, мы получим редирект с сайта на указанный файл:

Дочерний сайт

Можно указать в качестве домашней страницы ссылку на дочерний сайт.

Если, например, есть сайт http://portal и дочерний сайт http://portal/subsite, то для родительского сайта можно указать дочерний сайт в качестве домашней страницы (адрес должен быть относительным, т.е. без вначале):

Список

Аналогично можно указать ссылку на представление списка или библиотеки документов. При открытии сайта пользователь будет автоматически перенаправлен на список:

QueryString, Hash

Также в адресе домашней страницы можно использовать QueryString и/или Hash. В следующем примере домашней страницей будет форма просмотра элемента списка с идентификатором, равным 1. Дополнительно в адрес передается hash:

И результат в Developer Tools:

Примеры работают в SharePoint 2010/2013/2016 и SharePoint Online.

Обзор сайтов SharePoint

Сайты в семействе сайтов создаются для разделения содержимого, чтобы можно было точнее настроить его внешний вид и разрешения. Вы также можете делать разные функции доступными на разных сайтах семейства. Вы можете использовать шаблон сайта с конфигурацией по умолчанию или изменить стандартные параметры сайта с помощью средств администрирования, а затем сохранить сайт в качестве нового шаблона. Дополнительные сведения см. в статье «Создание и использование шаблонов сайтов».

Примечание.

Вы не можете сохранить семейство сайтов или сайт публикации SharePoint в виде шаблона. В случае активации компонента инфраструктуры публикации SharePoint Server в семействе сайтов, не относящемся к публикации, ссылка Сохранение сайта в качестве шаблона удаляется из раздела Действия сайта страницы Параметры сайта.

Для сайта можно настроить следующие элементы:

  • Шаблоны. Каждый из сайтов в семействе сайтов может использовать разные шаблоны.

  • Язык Если языковые пакеты были установлены на веб-сервере, можно выбрать конкретный язык, который будет использовать вместе с шаблоном сайта при создании нового сайта. Пользовательский интерфейс сайта отображается на языке, выбранном при создании этого сайта. Контент и другие созданные пользователями элементы отображаются на том языке, на котором они были созданы. Дополнительные сведения см. в статье «Планирование многоязычных сайтов в SharePoint Server и установка или удаление языковых пакетов для SharePoint Server 2016 и 2019».

  • Безопасность. Дочернему сайту можно назначить уникальные группы пользователей и разрешения.

  • Навигации Вы можете точно настроить навигацию сайта, настроив уникальные ссылки навигации в каждой части иерархии сайта. Навигация по сайту часто отражает отношения между сайтами в семействе сайтов. Таким образом, планирование навигации и планирование структур сайтов тесно связаны между собой. Дополнительные сведения см. в разделе «Обзор навигации по сайту» в SharePoint Server.

    На сайтах публикации SharePoint Server можно использовать управляемую навигацию для создания навигации по сайту, производной от строго управляемой таксономии. Подробнее см. в статье Overview of managed navigation in SharePoint Server.

  • Веб-страницы. Каждый сайт может содержать начальную и другие уникальные страницы.

  • Макеты сайтов. Каждый сайт может иметь уникальный макет или уникальные главные страницы.

  • Темы Вы можете изменять цвета и шрифты на сайте. Дополнительные сведения см. в разделе Overview of themes in SharePoint Server.

  • Региональные параметры. У каждого сайта могут быть собственные региональные параметры, такие как языковой стандарт, часовой пояс, порядок сортировки, формат времени и тип календаря.

  • Поиск Каждый сайт может иметь настраиваемые параметры поиска. Например, можно указать сайт, который не будет отображаться в результатах поиска.

  • Типы контента. Каждый сайт может иметь уникальные типы контента и столбцы сайтов.

  • Рабочие процессы. Вы можете назначить для каждого из сайтов уникальные рабочие процессы.

  • Приложения Вы можете установить приложения для SharePoint, чтобы доставлять определенные сведения или функции на сайт SharePoint. Приложение для SharePoint — это небольшое, простое в использовании автономное приложение, которое решает конкретные задачи для конечных пользователей или бизнеса.

Шаг 5. Преобразование пакета содержимого для конечного сайта

Используйте команду , чтобы преобразовать SML-файл, созданный во временной папке. Она сохраняет новый набор файлов с метаданными целевого пакета миграции в целевой каталог. Это окончательный пакет.

Примечание.

Учетные данные администратора конечного семейства веб-сайтов используются для сбора данных, чтобы подключиться к семейству веб-сайтов этих данных.

Есть шесть обязательных параметров для ввода (другие не обязательны):

  • ParallelImport: указывает средству использовать параллельные потоки для оптимизации производительности.

  • SourceFiles: путь к каталогу с исходными файлами содержимого пакета.

  • SourcePackagePath: путь к папке временного пакета.

  • OutputPackagePath: путь к папке окончательного пакета.

  • Credentials: учетные данные SharePoint с правами администратора на конечном сайте.

  • TargetWebUrl: URL-адрес конечного сайта.

  • TargetDocumentLibraryPath: путь к вашей целевой библиотеке.

Пример:

В этом примере показано преобразование пакета в целевой путем поиска данных в конечном семействе веб-сайтов. Для ускорения переноса общей папки используется параметр -ParallelImport.

Параметры

-Detailed

Этот параметр позволяет получить дополнительные сведения о свойствах семейства сайтов. При использовании параметра Detailed работа командлета замедляется.

Возвращаются следующие свойства:

  • ResourceUsageCurrent

  • ResourceUsageAverage

  • StorageUsageCurrent

  • LockIssue

  • WebsCount

  • CompatibilityLevel

  • AllowSelfServiceUpgrade

  • SiteDefinedSharingCapability

Возвращает сохраненное значение политики сайта.

SharingCapability

Возвращает фактический уровень доступа на основе политики сайта и политики клиента.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Applies to: SharePoint Online

-DisableSharingForNonOwnersStatus

Этот параметр запрещает пользователям, не являющимся владельцами, предоставлять кому-либо доступ.

Примечание.

Этот параметр доступен только в командной консоли SharePoint Online версии 16.0.4613.1211 или более поздней. DisableSharingForNonOwnersStatus — это не сохраненный параметр, а скорее анализ состояния семейства веб-сайтов. Это предназначено для получения этого параметра, и это не гарантирует правильность возвращаемых других параметров. Чтобы получить другие параметры и значения, используйте Get-SPOSite без этого параметра, чтобы убедиться, что все отображается правильно.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Applies to: SharePoint Online

-Filter

Задает блок сценария фильтра на стороне сервера, который требуется применить. Тип должен быть допустимым именем фильтра, а значение должно иметь формат . Допустимые операторы: -eq, -ne, -like, -notlike.
В настоящее время можно фильтровать по следующим свойствам: владелец, шаблон (может использоваться для фильтрации, если это единственное свойство в фильтре), LockState, URL-адрес.
Использование оператора -or для включения дополнительного фильтра не поддерживается.

Примечание. Значения операторов вводятся с учетом регистра.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Applies to: SharePoint Online

-GroupIdDefined

Отфильтровывает в списке возвращаемых сайтов сайты с идентификатором группы (например, сайты, подключенные к группе Microsoft 365), если установлено значение $true. Отфильтровывает в списке сайтов только сайты без идентификатора группы, если установлено значение $false.

Допустимые значения — $true, $false и not defined. По умолчанию для этого параметра установлено значение not defined, что означает, что фильтр не применяется.

Type: Boolean
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Applies to: SharePoint Online

-Identity

Задает URL-адрес семейства веб-сайтов.

Type: SpoSitePipeBind
Position:
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
Applies to: SharePoint Online

-IncludePersonalSite

Задайте значение $true, чтобы отобразить личные сайты.

Допустимые значения — $true и $false. По умолчанию задано значение $false, поэтому личные сайты не возвращаются.

Type: Boolean
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Applies to: SharePoint Online

-Limit

Задает максимальное количество возвращаемых семейств сайтов. Это количество может быть любым. Для возврата всех семейств веб-сайтов используйте значение «ALL». Значение по умолчанию: 200. Если этот параметр задан, некоторые свойства семейства веб-сайтов не будут заполнены и могут содержать значение по умолчанию.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Applies to: SharePoint Online

-Template

Отображает сайты, основанные на определенном шаблоне. Например, STS, STS#0, STS#1, STS#3, GROUP#0, SRCHCEN#0 или SITEPAGEPUBLISHING#0.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Applies to: SharePoint Online

How to Delete Version History in SharePoint Online?

In this blog post, we’ll look at how to delete version history in SharePoint Online? This can come in handy if you need to clear out older versions of files that are taking up storage space or simply want to clean up previous versions. We’ll also show you how to delete version history in SharePoint Online quickly and easily using PowerShell.

To delete all previous versions of a document in SharePoint, follow these steps:

  • Navigate to your SharePoint Library, select the file and then click on “Version History” from the ribbon menu.
  • From the version history page, click on the “Delete all versions” link, confirm if prompted!

PnP PowerShell to Upload File to SharePoint Online Document Library

We can also use the PnP PowerShell cmdlet Add-PnPFile to upload a file to SharePoint Online. Make sure the user credentials you supply have privileges to access the SharePoint site and set the variables like Site URL, document library name, and file path to your environment. Here is the PnP PowerShell to Copy file to the SharePoint Online document library from the local drive:

#Config Variables
$SiteURL = "https://crescent.sharepoint.com"
$SourceFilePath ="C:\Documents\Discloser Asia.docx"
$DestinationPath = "Shared Documents" #Site Relative Path of the Library
 
#Get Credentials to connect
$Cred = Get-Credential
 
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials $Cred
     
#powershell pnp to upload file to sharepoint online
Add-PnPFile -Path $SourceFilePath -Folder $DestinationPath

Set the $DestinationPath variable to any folder (E.g., “Shared Documents/Requirements”) in the library to upload the file to a folder in SharePoint Online. This should be either a server-relative URL or site relative URL to the target folder (E.g., If you are uploading to “https://crescent.sharepoint.com/sites/marketing/Shared Documents”, then the server relative URL is: /sites/marketing/Shared Documents, and site relative URL to the target folder is: Shared Documents – without any leading “/”). If there is a problem with the destination folder, you may get the “Add-PnPFile : Server relative urls must start with SPWeb.ServerRelativeUrl” error.

PowerShell to upload file to SharePoint Online with MFA
If you have MFA enabled in your tenant, You can omit the “Credentials” parameter and use -Interactive switch, so that you’ll get a popup to enter the user name and password which is two-factor authentication aware! E.g. Connect-PnPOnline -Url $SiteURL -Interactive

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: