From c2e74e51ab35c11816f05defa2f02b5ae074bde7 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 14:06:31 +0100
Subject: [PATCH 001/312] Update description.md
---
.../description.md | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/Site Management/Add Supported Language for multiple site collections/description.md b/Site Management/Add Supported Language for multiple site collections/description.md
index 66d0c1b2..f8056073 100644
--- a/Site Management/Add Supported Language for multiple site collections/description.md
+++ b/Site Management/Add Supported Language for multiple site collections/description.md
@@ -1,8 +1,10 @@
The script adds a supported language to all site collections.
-1. It retrieves the urls using Get-SPOSite.
-2. It loops through the urls.
-3. For each specified url, it adds a supported language.
+**1.** It retrieves the urls using Get-SPOSite.
+
+**2.** It loops through the urls.
+
+**3.** For each specified url, it adds a supported language.
Make sure the script is using correct paths to the SDK libraries on your machine:
@@ -22,22 +24,22 @@ $AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$adminUrl="https://tenant-admin.sharepoint.com"
$lcid=1031
```
-$lcid refers to Locale ID. A list of Microsoft-assigned locale ids can be found here:https://msdn.microsoft.com/en-us/goglobal/bb964664.aspx
+$lcid refers to Locale ID. A list of Microsoft-assigned locale ids can be found [here](https://msdn.microsoft.com/en-us/goglobal/bb964664.aspx).
### The script can be modified.
-1. If you want to add language only for a few site collections/subsites, enter the urls in the line below instead of Get-SPOSite cmdlet:
+**1.** If you want to add language only for a few site collections/subsites, enter the urls in the line below instead of Get-SPOSite cmdlet:
```PowerShell
$sites=(get-spoSite).Url
```
- 2. If you want to add 2 or more languages, enter more AddSupportedUILanguage() methods:
+**2.** If you want to add 2 or more languages, enter more AddSupportedUILanguage() methods:
```PowerShell
$ctx.Web.AddSupportedUILanguage($lcid)
```
- 3. If you want to remove a language instead of adding it, modify the following line:
+**3.** If you want to remove a language instead of adding it, modify the following line:
```PowerShell
$ctx.Web.AddSupportedUILanguage($lcid)
```
@@ -46,8 +48,7 @@ into:
$ctx.Web.RemoveSupportedUILanguage($lcid)
```
- 4. If you need to assign administrator's permissions to ODB, you can use the following script:
- http://sharepoint.stackexchange.com/questions/138562/add-personal-site-collection-administrator-programmatically
+**4.** If you need to assign administrator's permissions to ODB, you can use the following [script](http://sharepoint.stackexchange.com/questions/138562/add-personal-site-collection-administrator-programmatically).
From 3a9fb03db3354b005a79146f1bdf88676c5f017c Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 14:07:31 +0100
Subject: [PATCH 002/312] Update SetLGforAllSites.ps1
---
.../SetLGforAllSites.ps1 | 52 +++++++++----------
1 file changed, 24 insertions(+), 28 deletions(-)
diff --git a/Site Management/Add Supported Language for multiple site collections/SetLGforAllSites.ps1 b/Site Management/Add Supported Language for multiple site collections/SetLGforAllSites.ps1
index 8ef75a4f..1505a02b 100644
--- a/Site Management/Add Supported Language for multiple site collections/SetLGforAllSites.ps1
+++ b/Site Management/Add Supported Language for multiple site collections/SetLGforAllSites.ps1
@@ -1,37 +1,35 @@
-function Add-SPOUILanguages
-{
-
- param (
- [Parameter(Mandatory=$true,Position=1)]
+function Add-SPOUILanguages{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[Int]$lcid
- )
+ )
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.Load($ctx.Web)
- $ctx.ExecuteQuery()
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.Load($ctx.Web)
+ $ctx.ExecuteQuery()
- Write-Host $ctx.Web.Url
- $ctx.Web.IsMultilingual=$true
- $ctx.Web.Update()
- $ctx.ExecuteQuery()
- $ctx.Web.AddSupportedUILanguage($lcid)
-
- $ctx.Web.Update()
-
+ Write-Host $ctx.Web.Url
+ $ctx.Web.IsMultilingual=$true
+ $ctx.Web.Update()
+ $ctx.ExecuteQuery()
+ $ctx.Web.AddSupportedUILanguage($lcid)
-$ctx.ExecuteQuery()
-
- $ctx.Dispose()
+ $ctx.Web.Update()
+
+
+ $ctx.ExecuteQuery()
+
+ $ctx.Dispose()
}
@@ -52,8 +50,6 @@ Connect-SPOService $adminUrl -Credential $Username
$sites=(get-spoSite).Url
-foreach($site in $sites)
-{
-
-Add-SPOUILanguages -Username $Username -AdminPassword $AdminPassword -Url $site -lcid $lcid
-}
\ No newline at end of file
+foreach($site in $sites){
+ Add-SPOUILanguages -Username $Username -AdminPassword $AdminPassword -Url $site -lcid $lcid
+}
From 08d3122f403e3c653f9e1545443cba9f57c85a18 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 14:12:57 +0100
Subject: [PATCH 003/312] Update description.md
---
.../Add-SPOWeb & Remove-SPOWeb/description.md | 75 ++++++++++---------
1 file changed, 38 insertions(+), 37 deletions(-)
diff --git a/Site Management/Add-SPOWeb & Remove-SPOWeb/description.md b/Site Management/Add-SPOWeb & Remove-SPOWeb/description.md
index cddeb915..32083f2d 100644
--- a/Site Management/Add-SPOWeb & Remove-SPOWeb/description.md
+++ b/Site Management/Add-SPOWeb & Remove-SPOWeb/description.md
@@ -1,51 +1,54 @@
2 new SharePoint Online Powershell cmdlets to help you manage sites and subsites in your SharePoint Online subscription:
-
-
-Add-SPOWeb
+## Add-SPOWeb
Adds a subsite to an exisiting site collection
-Parameters
+## *Parameters*
The cmdlet is using the following parameters:
- [string]$Username
+- [string]$Username
+
The string specifies admin of the site
-[string]$ParentUrl
+- [string]$ParentUrl
+
Specifies the url of the parent site
-[string]$AdminPassword,
+- [string]$AdminPassword,
+
Admin's password
-[string]$Title,
+- [string]$Title,
+
Specifies the title of the site
-[bool]$UseSamePermissionsAsParentSite=$true,
+- [bool]$UseSamePermissionsAsParentSite=$true,
+
Whether the site should use the same permissions as parent site. By default it is set to true
-[string]$Description="",
+- [string]$Description="",
+
Site description, not mandatory
-[Int]$Language,
-The language of the site. For English choose 1033. For other languages choose the correct id.
+- [Int]$Language,
-[string]$Url,
-Url of the new site, avoid spaces.
+The language of the site. For English choose 1033. For other languages choose the correct [id](https://docs.microsoft.com/pl-pl/SharePoint/install/install-or-uninstall-language-packs?redirectedfrom=MSDN).
-[string]$WebTemplate="STS#0"
-Template of the site, e.g. teamsite, publishing portal, enterprise wiki. By default set to Teamsite template. For other template types, check here
+- [string]$Url,
-
+Url of the new site, avoid spaces.
-
+- [string]$WebTemplate="STS#0"
+
+Template of the site, e.g. teamsite, publishing portal, enterprise wiki. By default set to Teamsite template. For other template types, check [here](https://docs.microsoft.com/pl-pl/archive/blogs/)
-Remove-SPOWeb
+## Remove-SPOWeb
Removes a subsite from a site collection.
@@ -53,27 +56,31 @@ Removes a subsite from a site collection.
-Parameters
+### *Parameters*
The cmdlet is using the following parameters:
- [string]$Username
+- [string]$Username
+
The string specifies admin of the site
-[string]$Url
+- [string]$Url
+
Specifies the url of the site
-[string]$AdminPassword,
+- [string]$AdminPassword,
+
Admin's password
-[bool]$RemoveSubsites=$true
+- [bool]$RemoveSubsites=$true
+
If set to false, the cmdlet will ask for additional permissions if it encounters sub-sites of the site being removed. As long as one of the subsites exists, the site will never be removed. By default set to $true.
-Examples
+*Examples*
@@ -89,31 +96,25 @@ Add-SPOWeb -Username trial@trialtrial123.onmicrosoft.com -ParentSiteUrl https://
Remove-SPOWeb -Username trial@trialtrial123.onmicrosoft.com -AdminPassword Pass -Url https://trialtrial123.sharepoint.com/psweb
-
-
+
+*Requirements*
-
-
-Requirements
-
-
-
-The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
+The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the ```.psm1``` file!
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-
+ ```
-Let me know about your experience in the Q&A section!
+## Let me know about your experience in the Q&A section!
From c6fdfe5f4a3603d3cdf027f2703b533f58b9dc09 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 14:15:37 +0100
Subject: [PATCH 004/312] Update RemoveANDAddSPOWeb1.psm1
---
.../RemoveANDAddSPOWeb1.psm1 | 170 ++++++++----------
1 file changed, 74 insertions(+), 96 deletions(-)
diff --git a/Site Management/Add-SPOWeb & Remove-SPOWeb/RemoveANDAddSPOWeb1.psm1 b/Site Management/Add-SPOWeb & Remove-SPOWeb/RemoveANDAddSPOWeb1.psm1
index 7544eacd..e200d5ce 100644
--- a/Site Management/Add-SPOWeb & Remove-SPOWeb/RemoveANDAddSPOWeb1.psm1
+++ b/Site Management/Add-SPOWeb & Remove-SPOWeb/RemoveANDAddSPOWeb1.psm1
@@ -1,117 +1,95 @@
-function Remove-SPOWeb
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Remove-SPOWeb{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$AdminPassword,
- [Parameter(Mandatory=$false,Position=4)]
+ [Parameter(Mandatory=$false,Position=4)]
[bool]$RemoveSubsites=$true
- )
-
- $password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $ctx.Load($ctx.Web)
- $ctx.Load($ctx.Web.Webs)
- $ctx.ExecuteQuery()
-
- try
- {
- $ctx.Web.DeleteObject()
- $ctx.ExecuteQuery()
- Write-Host "Site " $ctx.Web.Url " has been removed."
- }
- catch [Net.WebException]
- {
- Write-Host $_.Exception.ToString()
- }
-
-if($ctx.Web.Webs.Count -gt 0)
- {
- for($i=0;$i -lt $ctx.Web.Webs.Count ;$i++)
- {
- if($RemoveSubsites)
- {
- Remove-SPOWeb -Username $Username -Url $ctx.Web.Webs[$i].Url -AdminPassword $AdminPassword -RemoveSubsites $RemoveSubsites
- }
-
- else
- {
- $yesorno=Read-Host -Prompt "Proceeding to remove subsite " $ctx.Web.Webs[$i].Url ". Press Y to proceed or N not to remove the subsite. If you choose N, the parent site won't be removed."
- if($yesorno -eq "y")
- {
- Remove-SPOWeb -Username $Username -Url $ctx.Web.Webs[$i].Url -AdminPassword $AdminPassword -RemoveSubsites $RemoveSubsites
- }
- }
- }
- }
-
-
-
-
+ )
+
+ $password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
+
+ try{
+ $ctx.Web.DeleteObject()
+ $ctx.ExecuteQuery()
+ Write-Host "Site " $ctx.Web.Url " has been removed."
+ }
+ catch [Net.WebException]{
+ Write-Host $_.Exception.ToString()
+ }
+
+ if($ctx.Web.Webs.Count -gt 0){
+ for($i=0;$i -lt $ctx.Web.Webs.Count ;$i++){
+ if($RemoveSubsites){
+ Remove-SPOWeb -Username $Username -Url $ctx.Web.Webs[$i].Url -AdminPassword $AdminPassword -RemoveSubsites $RemoveSubsites
+ }
+ else{
+ $yesorno=Read-Host -Prompt "Proceeding to remove subsite " $ctx.Web.Webs[$i].Url ". Press Y to proceed or N not to remove the subsite. If you choose N, the parent site won't be removed."
+ if($yesorno -eq "y"){
+ Remove-SPOWeb -Username $Username -Url $ctx.Web.Webs[$i].Url -AdminPassword $AdminPassword -RemoveSubsites $RemoveSubsites
+ }
+ }
+ }
+ }
}
-function Add-SPOWeb
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Add-SPOWeb{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
[string]$ParentSiteUrl,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$AdminPassword,
- [Parameter(Mandatory=$true,Position=4)]
+ [Parameter(Mandatory=$true,Position=4)]
[string]$Title,
- [Parameter(Mandatory=$false,Position=5)]
+ [Parameter(Mandatory=$false,Position=5)]
[bool]$UseSamePermissionsAsParentSite=$true,
- [Parameter(Mandatory=$false,Position=6)]
+ [Parameter(Mandatory=$false,Position=6)]
[string]$Description="",
- [Parameter(Mandatory=$true,Position=7)]
+ [Parameter(Mandatory=$true,Position=7)]
[Int]$Language,
- [Parameter(Mandatory=$true,Position=8)]
+ [Parameter(Mandatory=$true,Position=8)]
[string]$Url,
- [Parameter(Mandatory=$false,Position=9)]
+ [Parameter(Mandatory=$false,Position=9)]
[string]$WebTemplate="STS#0"
- )
-
-$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($ParentSiteUrl)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $ctx.Load($ctx.Web)
- $ctx.Load($ctx.Web.Webs)
- $ctx.ExecuteQuery()
-
-
- $wci = New-Object Microsoft.SharePoint.Client.WebCreationInformation
- $wci.Title=$Title
- $wci.Description=$Description
- $wci.Language = $Language
- $wci.Url =$Url
- $wci.WebTemplate = $WebTemplate
- $wci.UseSamePermissionsAsParentSite=$UseSamePermissionsAsParentSite
-
- $SPOWeb = $ctx.Web.Webs.Add($wci)
- $ctx.Load($SPOWeb)
- try
- {
-
- $ctx.ExecuteQuery()
- Write-Host "Site " $SPOWeb.Title " has been added to " $ParentSiteUrl
- }
- catch [Net.WebException]
- {
- Write-Host $_.Exception.ToString()
- }
-
-
-
-
-
+ )
+
+ $password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($ParentSiteUrl)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
+
+ $wci = New-Object Microsoft.SharePoint.Client.WebCreationInformation
+ $wci.Title=$Title
+ $wci.Description=$Description
+ $wci.Language = $Language
+ $wci.Url =$Url
+ $wci.WebTemplate = $WebTemplate
+ $wci.UseSamePermissionsAsParentSite=$UseSamePermissionsAsParentSite
+
+ $SPOWeb = $ctx.Web.Webs.Add($wci)
+ $ctx.Load($SPOWeb)
+
+ try{
+ $ctx.ExecuteQuery()
+ Write-Host "Site " $SPOWeb.Title " has been added to " $ParentSiteUrl
+ }
+ catch [Net.WebException]{
+ Write-Host $_.Exception.ToString()
+ }
}
From 47a4bdefc3185b7d1669fe278f9dd10c18a00150 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 14:19:08 +0100
Subject: [PATCH 005/312] Update description.md
---
.../description.md | 34 +++++++++++++------
1 file changed, 24 insertions(+), 10 deletions(-)
diff --git a/Site Management/ChangeLog/Create a report on all changes for all your site collections/description.md b/Site Management/ChangeLog/Create a report on all changes for all your site collections/description.md
index a86e8b4c..55b9fd62 100644
--- a/Site Management/ChangeLog/Create a report on all changes for all your site collections/description.md
+++ b/Site Management/ChangeLog/Create a report on all changes for all your site collections/description.md
@@ -1,19 +1,25 @@
-Description
+### *Description*
+
The script goes through all SharePoint Online site collections and retrieves a change log for them. The change log is DECRYPTED and published to an Excel file.
+
What do I mean by decrypted?
+
Whenever possible and applicable:
- User Id is read and dispalyed as SharePoint Online user' LoginName
- Document id is read and displayed as Document Name (e.g. title of the Word document)
- List id is read and displayed as List Name
- Each change is preceded by the name of the site on which it occurred
+
Whenever the element was not applicable for the particular change "N/A" will be displayed, e.g.
When a user deleted a document, alert ID will display N/A because there was no alert created at this activity.
When a system sent an alert, user ID and LoginName will display "N/A", because no user was involved.
The script is very time-consuming. It needs time to retrieve all logs.
For faster script retrieving change logs from only one site collection please consult my other contributions.
-Instructions
-1. Install SharePoint Online SDK.
-2. Before running the script, open the file in Powershell or NotePad and edit the lines below:
+
+### *Instructions*
+
+**1.** Install SharePoint Online SDK.
+**2.** Before running the script, open the file in Powershell or NotePad and edit the lines below:
```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
@@ -26,14 +32,22 @@ $AdminUrl="https://tenant-admin.sharepoint.com"
$CSVPath="C:\users\ivo\Desktop\changecollectiontry3.csv"
```
a) verify where Microsoft.SharePoint.Client.dll and Microsoft.SharePoint.Client.Runtime.dll libraries are located on your computer and enter the correct paths.
+
b) instead of 2190@tenant.onmicrosoft.com enter the name of your administrator
+
c) instead of https://tenant-admin.sharepoint.com, enter the url for your SharePoint Online admin Center
+
d) instead of "c:\users\...." enter the path where you want the file to be generated on your local PC
-3. Run the script.
-4. During the execution you may receive the error "Such list does no longer exist". It is because some of the changes refer to deleted items/lists.
-5. When the script is ready, open the created file. The results should be similar to:
+**3.** Run the script.
+**4.** During the execution you may receive the error "Such list does no longer exist". It is because some of the changes refer to deleted items/lists.
+
+
+
+**5.** When the script is ready, open the created file. The results should be similar to:
+
+
-Please share your comments in the Q&A section!
-Related scripts
-Create a report on all changes for your site collection (Powershell)
+### Please share your comments in the Q&A section!
+### Related scripts
+[Create a report on all changes for your site collection (Powershell)](https://gallery.technet.microsoft.com/Create-a-report-on-all-fe377c62)
From de44584531993e9c3dc207824ce22b6ef7f3da1f Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 14:22:46 +0100
Subject: [PATCH 006/312] Update changecollection.ps1
---
.../changecollection.ps1 | 150 +++++++++---------
1 file changed, 74 insertions(+), 76 deletions(-)
diff --git a/Site Management/ChangeLog/Create a report on all changes for all your site collections/changecollection.ps1 b/Site Management/ChangeLog/Create a report on all changes for all your site collections/changecollection.ps1
index 34068753..0ad84c7e 100644
--- a/Site Management/ChangeLog/Create a report on all changes for all your site collections/changecollection.ps1
+++ b/Site Management/ChangeLog/Create a report on all changes for all your site collections/changecollection.ps1
@@ -1,79 +1,80 @@
-function Get-DeletedItems
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-DeletedItems{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=4)]
+ [Parameter(Mandatory=$true,Position=4)]
[string]$CSVPath
-
-
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
-
-try
-{
-$ctx.ExecuteQuery()
-} catch [Net.WebException]
- {
-
- Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
-}
-
- $ctx.Load($ctx.Site)
-$changeQuery = New-Object Microsoft.SharePoint.Client.ChangeQuery $true,$true
-
-$changeCollection = $ctx.Site.GetChanges($changeQuery)
-$ctx.Load($changeCollection)
-try
-{
-$ctx.ExecuteQuery()
-Write-Host $ctx.Site.Url " loaded changes"
-} catch [Net.WebException]
- {
-
- Write-Host $ctx.Site.Url " failed" $_.Exception.Message.ToString() -ForegroundColor Red
-
-}
-
-foreach ($change in $changeCollection)
-{
-$change | Add-Member SiteCollection($Url)
-$change | Add-Member ItemName("N/A")
-$change | Add-Member ListName("N/A")
-$change | Add-Member WebName("N/A")
-$change | Add-Member UserName("N/A")
-$change | Add-Member UserTitle("N/A")
-
-if(! $change.IsPropertyAvailable("ItemId")) { $change | Add-Member ItemId("N/A")} else {
-$leeafyname=$ctx.Web.Lists.GetById($change.ListId).GetItemById($change.ItemId)
-$ctx.Load($leeafyname)
-$ctx.ExecuteQuery()
-$change.ItemName=$leeafyname.LeafName}
-if(! $change.IsPropertyAvailable("ListId")) { $change | Add-Member ListId("N/A")}else {
-$listka=$ctx.Web.Lists.GetById($change.ListId)
-$ctx.Load($listka)
-$ctx.ExecuteQuery()
-$change.ListName=$listka.Title}
-if(! $change.IsPropertyAvailable("WebId")) { $change | Add-Member WebId("N/A")}else { $change.WebName=$ctx.Web.Url}
-if(! $change.IsPropertyAvailable("UserId")) { $change | Add-Member UserId("N/A")}else { $ctx.Load($ctx.Web.GetUserById($change.UserId))
-$ctx.ExecuteQuery()
-$change.UserName=$ctx.Web.GetUserById($change.UserId).LoginName
-$change.UserTitle=$ctx.Web.GetUserById($change.UserId).Title}
-if(! $change.IsPropertyAvailable("AlertId")) { $change | Add-Member AlertId("N/A")}
-if(! $change.IsPropertyAvailable("Activate")) { $change | Add-Member Activate("N/A")}
-
-$change | export-csv $CSVPath -Append
-}
-
-
-
-
+ )
+
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+
+ try{
+ $ctx.ExecuteQuery()
+ }
+ catch [Net.WebException] {
+ Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
+
+ $ctx.Load($ctx.Site)
+ $changeQuery = New-Object Microsoft.SharePoint.Client.ChangeQuery $true,$true
+
+ $changeCollection = $ctx.Site.GetChanges($changeQuery)
+ $ctx.Load($changeCollection)
+
+ try{
+ $ctx.ExecuteQuery()
+ Write-Host $ctx.Site.Url " loaded changes"
+ }
+ catch [Net.WebException] {
+ Write-Host $ctx.Site.Url " failed" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
+
+ foreach ($change in $changeCollection){
+ $change | Add-Member SiteCollection($Url)
+ $change | Add-Member ItemName("N/A")
+ $change | Add-Member ListName("N/A")
+ $change | Add-Member WebName("N/A")
+ $change | Add-Member UserName("N/A")
+ $change | Add-Member UserTitle("N/A")
+
+ if(! $change.IsPropertyAvailable("ItemId")) { $change | Add-Member ItemId("N/A")}
+ else{
+ $leeafyname=$ctx.Web.Lists.GetById($change.ListId).GetItemById($change.ItemId)
+ $ctx.Load($leeafyname)
+ $ctx.ExecuteQuery()
+ $change.ItemName=$leeafyname.LeafName
+ }
+
+ if(! $change.IsPropertyAvailable("ListId")) { $change | Add-Member ListId("N/A")}
+ else{
+ $listka=$ctx.Web.Lists.GetById($change.ListId)
+ $ctx.Load($listka)
+ $ctx.ExecuteQuery()
+ $change.ListName=$listka.Title
+ }
+
+ if(! $change.IsPropertyAvailable("WebId")) { $change | Add-Member WebId("N/A")}
+ else { $change.WebName=$ctx.Web.Url}
+
+ if(! $change.IsPropertyAvailable("UserId")) { $change | Add-Member UserId("N/A")}
+ else { $ctx.Load($ctx.Web.GetUserById($change.UserId))
+ $ctx.ExecuteQuery()
+ $change.UserName=$ctx.Web.GetUserById($change.UserId).LoginName
+ $change.UserTitle=$ctx.Web.GetUserById($change.UserId).Title
+ }
+
+ if(! $change.IsPropertyAvailable("AlertId")) { $change | Add-Member AlertId("N/A")}
+
+ if(! $change.IsPropertyAvailable("Activate")) { $change | Add-Member Activate("N/A")}
+
+ $change | export-csv $CSVPath -Append
+ }
}
@@ -96,11 +97,8 @@ $CSVPath="C:\users\ivo\Desktop\changecollectiontry3.csv"
Connect-SPOService -Url $adminUrl
$sites=(Get-SPOSite).Url
-foreach($site in $sites)
-{
-
- Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site -CSVPath $CSVPath
-
+foreach($site in $sites){
+ Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site -CSVPath $CSVPath
}
From 4f5c4a4989eb96f8ea0c4d9ca255633db13a4eec Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 14:26:30 +0100
Subject: [PATCH 007/312] Update description.md
---
.../description.md | 33 +++++++++++++------
1 file changed, 23 insertions(+), 10 deletions(-)
diff --git a/Site Management/ChangeLog/Create a report on all changes for one site collection/description.md b/Site Management/ChangeLog/Create a report on all changes for one site collection/description.md
index 20429fce..263db4cf 100644
--- a/Site Management/ChangeLog/Create a report on all changes for one site collection/description.md
+++ b/Site Management/ChangeLog/Create a report on all changes for one site collection/description.md
@@ -1,19 +1,22 @@
-
Description
+### *Description*
The script retrieves a change log for a specified site collection. The change log is DECRYPTED and published to an Excel file:
+
Whenever possible and applicable:
- User Id is read and dispalyed as SharePoint Online user' LoginName
- Document id is read and displayed as Document Name (e.g. title of the Word document)
- List id is read and displayed as List Name
- Each change is preceded by the name of the site on which it occurred
+
Whenever the element was not applicable for the particular change "N/A" will be displayed, e.g.
When a user deleted a document, alert ID will display N/A because there was no alert created at this activity.
When a system sent an alert, user ID and LoginName will display "N/A", because no user was involved.
-Instructions
+### *Instructions*
+
+**1.** Install SharePoint Online SDK.
-1. Install SharePoint Online SDK.
-2. Before running the script, open the file in Powershell or NotePad and edit the lines below:
+**2.** Before running the script, open the file in Powershell or NotePad and edit the lines below:
```Powershell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
@@ -26,15 +29,25 @@ $AdminUrl="https://tenant-admin.sharepoint.com"
$CSVPath="C:\users\ivo\Desktop\changecollectiontry3.csv"
```
a) verify where Microsoft.SharePoint.Client.dll and Microsoft.SharePoint.Client.Runtime.dll libraries are located on your computer and enter the correct paths.
+
b) instead of 2190@tenant.onmicrosoft.com enter the name of your administrator
+
c) instead of https://tenant-admin.sharepoint.com, enter the url for your SharePoint Online admin Center
+
d) instead of "c:\users\...." enter the path where you want the file to be generated on your local PC
-3. Run the script.
-4. During the execution you may receive the error "Such list does no longer exist". It is because some of the changes refer to deleted items/lists.
-5. When the script is ready, open the created file. The results should be similar to:
+**3.** Run the script.
+
+**4.** During the execution you may receive the error "Such list does no longer exist". It is because some of the changes refer to deleted items/lists.
+
+
+
+
+
+**5.** When the script is ready, open the created file. The results should be similar to:
+
+### Please share your comments in the Q&A section!
-Please share your comments in the Q&A section!
+**Related scripts:**
-Related scripts:
-Create a report on all changes for all your site collections
+[Create a report on all changes for all your site collections](https://gallery.technet.microsoft.com/Create-a-report-on-all-2a4e7409)
From 04d29cd9085a267b37a014026972ff53bc2b97c3 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 14:28:38 +0100
Subject: [PATCH 008/312] Update changecollection.ps1
---
.../changecollection.ps1 | 150 +++++++++---------
1 file changed, 74 insertions(+), 76 deletions(-)
diff --git a/Site Management/ChangeLog/Create a report on all changes for one site collection/changecollection.ps1 b/Site Management/ChangeLog/Create a report on all changes for one site collection/changecollection.ps1
index 34068753..59155cd2 100644
--- a/Site Management/ChangeLog/Create a report on all changes for one site collection/changecollection.ps1
+++ b/Site Management/ChangeLog/Create a report on all changes for one site collection/changecollection.ps1
@@ -1,79 +1,80 @@
-function Get-DeletedItems
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-DeletedItems{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=4)]
+ [Parameter(Mandatory=$true,Position=4)]
[string]$CSVPath
-
-
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
-
-try
-{
-$ctx.ExecuteQuery()
-} catch [Net.WebException]
- {
-
- Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
-}
-
- $ctx.Load($ctx.Site)
-$changeQuery = New-Object Microsoft.SharePoint.Client.ChangeQuery $true,$true
-
-$changeCollection = $ctx.Site.GetChanges($changeQuery)
-$ctx.Load($changeCollection)
-try
-{
-$ctx.ExecuteQuery()
-Write-Host $ctx.Site.Url " loaded changes"
-} catch [Net.WebException]
- {
-
- Write-Host $ctx.Site.Url " failed" $_.Exception.Message.ToString() -ForegroundColor Red
-
-}
-
-foreach ($change in $changeCollection)
-{
-$change | Add-Member SiteCollection($Url)
-$change | Add-Member ItemName("N/A")
-$change | Add-Member ListName("N/A")
-$change | Add-Member WebName("N/A")
-$change | Add-Member UserName("N/A")
-$change | Add-Member UserTitle("N/A")
-
-if(! $change.IsPropertyAvailable("ItemId")) { $change | Add-Member ItemId("N/A")} else {
-$leeafyname=$ctx.Web.Lists.GetById($change.ListId).GetItemById($change.ItemId)
-$ctx.Load($leeafyname)
-$ctx.ExecuteQuery()
-$change.ItemName=$leeafyname.LeafName}
-if(! $change.IsPropertyAvailable("ListId")) { $change | Add-Member ListId("N/A")}else {
-$listka=$ctx.Web.Lists.GetById($change.ListId)
-$ctx.Load($listka)
-$ctx.ExecuteQuery()
-$change.ListName=$listka.Title}
-if(! $change.IsPropertyAvailable("WebId")) { $change | Add-Member WebId("N/A")}else { $change.WebName=$ctx.Web.Url}
-if(! $change.IsPropertyAvailable("UserId")) { $change | Add-Member UserId("N/A")}else { $ctx.Load($ctx.Web.GetUserById($change.UserId))
-$ctx.ExecuteQuery()
-$change.UserName=$ctx.Web.GetUserById($change.UserId).LoginName
-$change.UserTitle=$ctx.Web.GetUserById($change.UserId).Title}
-if(! $change.IsPropertyAvailable("AlertId")) { $change | Add-Member AlertId("N/A")}
-if(! $change.IsPropertyAvailable("Activate")) { $change | Add-Member Activate("N/A")}
-
-$change | export-csv $CSVPath -Append
-}
-
-
-
-
+ )
+
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+
+ try{
+ $ctx.ExecuteQuery()
+ }
+ catch [Net.WebException] {
+ Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
+
+ $ctx.Load($ctx.Site)
+ $changeQuery = New-Object Microsoft.SharePoint.Client.ChangeQuery $true,$true
+
+ $changeCollection = $ctx.Site.GetChanges($changeQuery)
+ $ctx.Load($changeCollection)
+
+ try{
+ $ctx.ExecuteQuery()
+ Write-Host $ctx.Site.Url " loaded changes"
+ }
+ catch [Net.WebException] {
+ Write-Host $ctx.Site.Url " failed" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
+
+ foreach ($change in $changeCollection){
+ $change | Add-Member SiteCollection($Url)
+ $change | Add-Member ItemName("N/A")
+ $change | Add-Member ListName("N/A")
+ $change | Add-Member WebName("N/A")
+ $change | Add-Member UserName("N/A")
+ $change | Add-Member UserTitle("N/A")
+
+ if(! $change.IsPropertyAvailable("ItemId")) { $change | Add-Member ItemId("N/A")}
+ else {
+ $leeafyname=$ctx.Web.Lists.GetById($change.ListId).GetItemById($change.ItemId)
+ $ctx.Load($leeafyname)
+ $ctx.ExecuteQuery()
+ $change.ItemName=$leeafyname.LeafName
+ }
+
+ if(! $change.IsPropertyAvailable("ListId")) { $change | Add-Member ListId("N/A")}
+ else {
+ $listka=$ctx.Web.Lists.GetById($change.ListId)
+ $ctx.Load($listka)
+ $ctx.ExecuteQuery()
+ $change.ListName=$listka.Title
+ }
+
+ if(! $change.IsPropertyAvailable("WebId")) { $change | Add-Member WebId("N/A")}
+ else { $change.WebName=$ctx.Web.Url}
+
+ if(! $change.IsPropertyAvailable("UserId")) { $change | Add-Member UserId("N/A")}
+ else { $ctx.Load($ctx.Web.GetUserById($change.UserId))
+ $ctx.ExecuteQuery()
+ $change.UserName=$ctx.Web.GetUserById($change.UserId).LoginName
+ $change.UserTitle=$ctx.Web.GetUserById($change.UserId).Title
+ }
+
+ if(! $change.IsPropertyAvailable("AlertId")) { $change | Add-Member AlertId("N/A")}
+
+ if(! $change.IsPropertyAvailable("Activate")) { $change | Add-Member Activate("N/A")}
+
+ $change | export-csv $CSVPath -Append
+ }
}
@@ -96,11 +97,8 @@ $CSVPath="C:\users\ivo\Desktop\changecollectiontry3.csv"
Connect-SPOService -Url $adminUrl
$sites=(Get-SPOSite).Url
-foreach($site in $sites)
-{
-
- Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site -CSVPath $CSVPath
-
+foreach($site in $sites){
+ Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site -CSVPath $CSVPath
}
From 81ced9d1a66fc2aa4176f4846e5735e2a3779448 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 14:31:26 +0100
Subject: [PATCH 009/312] Update description.md
---
.../description.md | 29 ++++++++-----------
1 file changed, 12 insertions(+), 17 deletions(-)
diff --git a/Site Management/Create OneDrive for Business usage report for all users/description.md b/Site Management/Create OneDrive for Business usage report for all users/description.md
index 92be00d5..c99d310f 100644
--- a/Site Management/Create OneDrive for Business usage report for all users/description.md
+++ b/Site Management/Create OneDrive for Business usage report for all users/description.md
@@ -6,40 +6,35 @@ The script uses CSOM. It requires SharePoint Online SDK and SharePoint Online Ma
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
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"
-
+ ```
-How to use?
-1. Download the script and open it in ISE or NotePad.
+## How to use?
+**1.** Download the script and open it in ISE or NotePad.
-2. Enter your tenant's data:
+**2.** Enter your tenant's data:
-PowerShell
+```PowerShell
$admin="user@tenant.onmicrosoft.com"
$pass=Read-Host "Enter Password: " -AsSecureString
$mysiteHost="https://tenant-my.sharepoint.com"
+```
-
-
-3. Run the script.
-
-4. Expected results:
+**3.** Run the script.
+**4.** Expected results:
-
-
-
+
-
+### Acknowledgement:
-Acknowledgement:
-The script is using Invoke-LoadMethod published here, without which it could not proceed. The method was created and belongs to a brilliant SharePointer and Guru, Vadim Gremyachev.
+The script is using Invoke-LoadMethod published [here](https://sharepoint.stackexchange.com/questions/126221/spo-retrieve-hasuniqueroleassignements-property-using-powershell), without which it could not proceed. The method was created and belongs to a brilliant SharePointer and Guru, [Vadim Gremyachev](https://sharepoint.stackexchange.com/users/10610/vadim-gremyachev).
From 500366dbd1a2cd2991c6948aad20c5a102ec42b3 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:35:59 +0100
Subject: [PATCH 010/312] Update description.md
---
.../description.md | 35 +++++++------------
1 file changed, 13 insertions(+), 22 deletions(-)
diff --git a/Site Management/Enable page editing when master page editing has been disabled for this site/description.md b/Site Management/Enable page editing when master page editing has been disabled for this site/description.md
index b72f8e1a..15666011 100644
--- a/Site Management/Enable page editing when master page editing has been disabled for this site/description.md
+++ b/Site Management/Enable page editing when master page editing has been disabled for this site/description.md
@@ -2,19 +2,19 @@ When you receive the error "Master page editing has been disabled for this site.
-How to use?
+## How to use?
-1. Download and install SharePoint Online SDK.
+**1.** Download and install [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038).
-2. Download the .ps1 file.
+**2.** Download the ```.ps1``` file.
-3. Open the file (you can do it also in NotePad)
+**3.** Open the file (you can do it also in NotePad)
-4. Insert your data in these lines:
+**4.** Insert your data in these lines:
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
@@ -24,27 +24,18 @@ $Username="admin@tenant.onmicrosoft.com"
$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$Url="https://tenant.sharepoint.com/sites/teamsitewithlibraries"
$setting=$true
+```
a) Find on your computer where SharePoint.Clitent.dll and SharePoint.Client.Runtime.dll libraries are located and insert the correct paths
-b) Instead of "admin@tenant.onmicrosoft.com" enter you username
-c) Instead of "https://tenant.sharepoint.com/sites/teamsitewithlibraries" enter the name of the site collection where you want to change the setting
-d) If you want to ENABLE master page editing, skip the next line. If you want to DISABLE master page editing, change it to $false
-5. Run the script in Powershell (any module).
-6. At the end you should receive a confirmation message like this:
-
-
-
-
-
-
-
+b) Instead of "admin@tenant.onmicrosoft.com" enter you username
-
+c) Instead of "https://tenant.sharepoint.com/sites/teamsitewithlibraries" enter the name of the site collection where you want to change the setting
-
+d) If you want to ENABLE master page editing, skip the next line. If you want to DISABLE master page editing, change it to $false
-
+**5.** Run the script in Powershell (any module).
+**6.** At the end you should receive a confirmation message like this:
-
+
Please share your feedback in the Q&A section
From 799bb2be44ce79c5fbf783f732e24114ba1416ee Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:37:26 +0100
Subject: [PATCH 011/312] Update AllowMasterPageEditing.ps1
---
.../AllowMasterPageEditing.ps1 | 71 +++++++++----------
1 file changed, 32 insertions(+), 39 deletions(-)
diff --git a/Site Management/Enable page editing when master page editing has been disabled for this site/AllowMasterPageEditing.ps1 b/Site Management/Enable page editing when master page editing has been disabled for this site/AllowMasterPageEditing.ps1
index ccccf1d6..8005c3ac 100644
--- a/Site Management/Enable page editing when master page editing has been disabled for this site/AllowMasterPageEditing.ps1
+++ b/Site Management/Enable page editing when master page editing has been disabled for this site/AllowMasterPageEditing.ps1
@@ -1,46 +1,39 @@
-function Set-SPOSiteAllowMasterPageEditing
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Set-SPOSiteAllowMasterPageEditing{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url,
-[Parameter(Mandatory=$true,Position=4)]
+ [Parameter(Mandatory=$true,Position=4)]
[bool]$setting
-
-)
-
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
-
-try
-{
-$ctx.ExecuteQuery()
-} catch [Net.WebException]
- {
-
- Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
-}
-
- $ctx.Load($ctx.Site)
- $ctx.Load($ctx.Web.Webs)
- $ctx.Site.AllowMasterPageEditing=$setting
-
-
- try
- {
- $ctx.ExecuteQuery()
- $ctx.Load($ctx.Site)
- $ctx.ExecuteQuery()
- Write-Host "Success. AllowMasterPageEditing is now set to " $ctx.Site.AllowMasterPageEditing -ForegroundColor Green
- }
- catch [Net.WebException]
- {
- Write-Host "Failed to set the setting" $_.Exception.Message.ToString() -ForegroundColor Red
- }
-
+ )
+
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+
+ try{
+ $ctx.ExecuteQuery()
+ }
+ catch [Net.WebException] {
+ Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
+
+ $ctx.Load($ctx.Site)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.Site.AllowMasterPageEditing=$setting
+
+
+ try{
+ $ctx.ExecuteQuery()
+ $ctx.Load($ctx.Site)
+ $ctx.ExecuteQuery()
+ Write-Host "Success. AllowMasterPageEditing is now set to " $ctx.Site.AllowMasterPageEditing -ForegroundColor Green
+ }
+ catch [Net.WebException] {
+ Write-Host "Failed to set the setting" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
}
@@ -55,4 +48,4 @@ $Url="https://tenant.sharepoint.com/sites/teamsitewithlibraries"
$setting=$true
-Set-SPOSiteAllowMasterPageEditing -Username $Username -AdminPassword $AdminPassword -Url $Url -setting $setting
\ No newline at end of file
+Set-SPOSiteAllowMasterPageEditing -Username $Username -AdminPassword $AdminPassword -Url $Url -setting $setting
From d223bc2fecf65afa9d53e692dfd795ec7b13e8d0 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:40:06 +0100
Subject: [PATCH 012/312] Update description.md
---
.../description.md | 23 +++++--------------
1 file changed, 6 insertions(+), 17 deletions(-)
diff --git a/Site Management/Export site collection properties using Powershell and CSOM/description.md b/Site Management/Export site collection properties using Powershell and CSOM/description.md
index 5f16ad1c..c02155b7 100644
--- a/Site Management/Export site collection properties using Powershell and CSOM/description.md
+++ b/Site Management/Export site collection properties using Powershell and CSOM/description.md
@@ -2,25 +2,14 @@ Short Powershell script to export properties of all site collections.
Sample properties include AllowSelfServiceUpgrade, FalseAverageResourceUsage, CompatibilityLevel, CurrentResourceUsage, DenyAddAndCustomizePages, DisableAppViews, DisableCompanyWideSharingLinks, DisableFlows, PWAEnabled, SandboxedCodeActivationCapability, SharingAllowedDomainList, ShowPeoplePickerSuggestionsForGuestUsers, SiteDefinedSharingCapability
-
-
-
-
-
-
Expected results:
-
-
-
-
-
-
-
+
### How to use?
-Download and open the .ps1 file.
-Add correct libraries:
+
+- Download and open the ```.ps1``` file.
+- Add correct libraries:
```PowerShell
@@ -28,7 +17,7 @@ Add correct libraries:
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\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.Online.SharePoint.Client.Tenant.dll"
```
-Enter the correct url and admin login:
+- Enter the correct url and admin login:
```PowerShell
@@ -37,4 +26,4 @@ $AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
$username="admin@TENANT.onmicrosoft.com"
$Url="https://TENANT-admin.sharepoint.com"
```
- Run the script
+- Run the script
From f9c86576bf033efa29da6689e5dff4fb7d4d7aeb Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:40:39 +0100
Subject: [PATCH 013/312] Update SiteCollPropertiesWithCSOM.ps1
---
.../SiteCollPropertiesWithCSOM.ps1 | 37 +++++++++----------
1 file changed, 17 insertions(+), 20 deletions(-)
diff --git a/Site Management/Export site collection properties using Powershell and CSOM/SiteCollPropertiesWithCSOM.ps1 b/Site Management/Export site collection properties using Powershell and CSOM/SiteCollPropertiesWithCSOM.ps1
index 54860404..a1fd510d 100644
--- a/Site Management/Export site collection properties using Powershell and CSOM/SiteCollPropertiesWithCSOM.ps1
+++ b/Site Management/Export site collection properties using Powershell and CSOM/SiteCollPropertiesWithCSOM.ps1
@@ -1,30 +1,27 @@
-function Get-SiteColl
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-SiteColl{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
$password
- )
+ )
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $ctx.Load($ctx.Web)
- $ctx.ExecuteQuery()
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $ctx.Load($ctx.Web)
+ $ctx.ExecuteQuery()
- $spoTenant= New-Object Microsoft.Online.SharePoint.TenantAdministration.Tenant($Ctx)
- $spoTenantSiteCollections=$spoTenant.GetSiteProperties(0,$true)
- $ctx.Load($spoTenantSiteCollections)
- $ctx.ExecuteQuery()
-
- foreach($siteColl in $spoTenantSiteCollections)
- {
- Write-Output $siteColl
- }
+ $spoTenant= New-Object Microsoft.Online.SharePoint.TenantAdministration.Tenant($Ctx)
+ $spoTenantSiteCollections=$spoTenant.GetSiteProperties(0,$true)
+ $ctx.Load($spoTenantSiteCollections)
+ $ctx.ExecuteQuery()
+ foreach($siteColl in $spoTenantSiteCollections){
+ Write-Output $siteColl
+ }
}
@@ -44,4 +41,4 @@ $Url="https://TENANT-admin.sharepoint.com"
-Get-SiteColl -Username $username -Url $Url -password $AdminPassword | Export-Csv C:\Users\Arleta.Wanat\Desktop\'August 2017'\testcsv.csv
\ No newline at end of file
+Get-SiteColl -Username $username -Url $Url -password $AdminPassword | Export-Csv C:\Users\Arleta.Wanat\Desktop\'August 2017'\testcsv.csv
From e054505e6c1337731de4a5becc691d305f7ac8e3 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:43:55 +0100
Subject: [PATCH 014/312] Update description.md
---
.../description.md | 27 ++++++-------------
1 file changed, 8 insertions(+), 19 deletions(-)
diff --git a/Site Management/Features/Activate or deactivate a SPO feature for a single site/description.md b/Site Management/Features/Activate or deactivate a SPO feature for a single site/description.md
index b1bf9fe4..3063fca7 100644
--- a/Site Management/Features/Activate or deactivate a SPO feature for a single site/description.md
+++ b/Site Management/Features/Activate or deactivate a SPO feature for a single site/description.md
@@ -1,39 +1,28 @@
-A simple script for SharePoint Online that enables a feature in a single SPO site (site collection or a subsite). You need to have the required permissions for the site and known the feature guid. The list of guids can be found here:
-http://blogs.msdn.com/b/razi/archive/2013/10/28/listing-all-sharepoint-2013-features-including-name-title-scope-id-and-description.aspx
-
-
+A simple script for SharePoint Online that enables a feature in a single SPO site (site collection or a subsite). You need to have the required permissions for the site and known the feature guid. The list of guids can be found [here](http://blogs.msdn.com/b/razi/archive/2013/10/28/listing-all-sharepoint-2013-features-including-name-title-scope-id-and-description.aspx).
Before running the script, verify the paths to SharePoint Online SDK:
-
-
-PowerShell
+```PowerShell
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+ ```
-
-
Optionally, you can edit these two lines so that the script doesn'task you for credentials at runtime:
-
-
-PowerShell
+```PowerShell
$siteUrl = Read-Host -Prompt "Enter https://tenant.sharepoint.com/sites/mysitecollection”
$username = Read-Host -Prompt "Enter admin@tenant.onmicrosoft.com"
-
+ ```
During its execution the script will inform you, where the features have been changed.
+### Related scripts:
-
-
-Related scripts:
-
-Activate or deactivate a feature for a site and its subsites
+[Activate or deactivate a feature for a site and its subsites](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-bc6534e9)
-Activate or deactivate a SPO feature for direct subsites in site collection
+[Activate or deactivate a SPO feature for direct subsites in site collection](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-9fe2fb34)
From f0d81d80acf3b4228717cbea9ed6a1983dacb747 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:45:18 +0100
Subject: [PATCH 015/312] Update enablefeatureForASingleSite.ps1
---
.../enablefeatureForASingleSite.ps1 | 96 ++++++++-----------
1 file changed, 40 insertions(+), 56 deletions(-)
diff --git a/Site Management/Features/Activate or deactivate a SPO feature for a single site/enablefeatureForASingleSite.ps1 b/Site Management/Features/Activate or deactivate a SPO feature for a single site/enablefeatureForASingleSite.ps1
index 917a2ec5..b47594c8 100644
--- a/Site Management/Features/Activate or deactivate a SPO feature for a single site/enablefeatureForASingleSite.ps1
+++ b/Site Management/Features/Activate or deactivate a SPO feature for a single site/enablefeatureForASingleSite.ps1
@@ -1,54 +1,46 @@
-function Remove-SPOFeature
-{
-param (
- [string]$Username,
+function Remove-SPOFeature{
+ param (
+ [string]$Username,
[Parameter(Mandatory=$true,Position=1)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$password
-)
-
-$ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
-$site=$ctx.Web
-$ctx.Load($site)
-$ctx.Load($ctx.Web.Webs)
-$ctx.ExecuteQuery()
-
-
- $site.Features.Remove($featureguid, $true);
- $ctx.ExecuteQuery()
- Write-Host "Feature removed for" $site.Url
+ )
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $site=$ctx.Web
+ $ctx.Load($site)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
+ $site.Features.Remove($featureguid, $true);
+ $ctx.ExecuteQuery()
+ Write-Host "Feature removed for" $site.Url
}
-function Add-SPOFeature
-{
-param (
- [string]$Username,
+function Add-SPOFeature{
+ param (
+ [string]$Username,
[Parameter(Mandatory=$true,Position=1)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$password
-)
+ )
-$ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
-$site=$ctx.Web
-$ctx.Load($site)
-$ctx.Load($ctx.Web.Webs)
-$ctx.ExecuteQuery()
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $site=$ctx.Web
+ $ctx.Load($site)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
- $site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
- $ctx.ExecuteQuery()
- Write-Host "Feature enabled for" $site.Url
-
+ $site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
+ $ctx.ExecuteQuery()
+ Write-Host "Feature enabled for" $site.Url
}
@@ -62,35 +54,27 @@ $ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
$ctx.Credentials= New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
-try
-{
-$ctx.ExecuteQuery()
+try{
+ $ctx.ExecuteQuery()
+}
+catch [Net.WebException] {
+ Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
}
-catch [Net.WebException]
- {
-
- Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
- }
$feature=Read-Host -Prompt "Enter the feature id, e.g. for SharePoint Server Publishing it's 94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb"
$featureguid=new-object System.Guid $feature
$RemoveorAdd= Read-Host "Do you want to activate the feature to the sites (a) or deactivate it (d)? Press a or d."
$RemoveorAdd=$RemoveorAdd.Trim()
-if($RemoveorAdd -like "a")
-{
-
- Add-SPOFeature -Username $username -Url $siteUrl -password $password
-
+if($RemoveorAdd -like "a"){
+ Add-SPOFeature -Username $username -Url $siteUrl -password $password
+
}
-elseif($RemoveorAdd -like "d")
-{
- Remove-SPOFeature -Username $username -Url $siteUrl -password $password
-
+elseif($RemoveorAdd -like "d"){
+ Remove-SPOFeature -Username $username -Url $siteUrl -password $password
}
-else
-{
-Write-Host "Didn't recognize the command"
+else{
+ Write-Host "Didn't recognize the command"
}
From b6d0b39e16fd9fac4105d885ea01c2edb9d407da Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:46:49 +0100
Subject: [PATCH 016/312] Update description.md
---
.../description.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Site Management/Features/Activate or deactivate a SPO feature for direct subsites in site collection/description.md b/Site Management/Features/Activate or deactivate a SPO feature for direct subsites in site collection/description.md
index ebce20e5..2643c966 100644
--- a/Site Management/Features/Activate or deactivate a SPO feature for direct subsites in site collection/description.md
+++ b/Site Management/Features/Activate or deactivate a SPO feature for direct subsites in site collection/description.md
@@ -1,8 +1,8 @@
-A simple script for SharePoint Online that finds all direct (one-level down) subsites in a provided site collection and enables the chosen SharePoint feature for all of them. You need to have the required permissions for the site and known the feature guid. The list of guids can be found here:
-http://blogs.msdn.com/b/razi/archive/2013/10/28/listing-all-sharepoint-2013-features-including-name-title-scope-id-and-description.aspx
+A simple script for SharePoint Online that finds all direct (one-level down) subsites in a provided site collection and enables the chosen SharePoint feature for all of them. You need to have the required permissions for the site and known the feature guid. The list of guids can be found [here](http://blogs.msdn.com/b/razi/archive/2013/10/28/listing-all-sharepoint-2013-features-including-name-title-scope-id-and-description.aspx).
-##### Related scripts
+#### Related scripts
+
Activate or deactivate a feature for a site and its subsites [GitHub](https://github.com/PowershellScripts/AllGalleryScriptsSamples/tree/master/Site%20Management/Features/Activate%20or%20deactivate%20a%20feature%20for%20a%20site%20and%20its%20subsites) [Technet Gallery](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-bc6534e9)
Activate or deactivate a SPO feature for a single site [GitHub](https://github.com/PowershellScripts/AllGalleryScriptsSamples/tree/master/Site%20Management/Features/Activate%20or%20deactivate%20a%20SPO%20feature%20for%20a%20single%20site) [Technet Gallery](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-da769f9d)
From 385a6fe71f15b6d82466ebb3dce59b4cec4715cb Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:47:23 +0100
Subject: [PATCH 017/312] Update enablefeature.ps1
---
.../enablefeature.ps1 | 33 ++++++++-----------
1 file changed, 13 insertions(+), 20 deletions(-)
diff --git a/Site Management/Features/Activate or deactivate a SPO feature for direct subsites in site collection/enablefeature.ps1 b/Site Management/Features/Activate or deactivate a SPO feature for direct subsites in site collection/enablefeature.ps1
index f5b894eb..98c7e303 100644
--- a/Site Management/Features/Activate or deactivate a SPO feature for direct subsites in site collection/enablefeature.ps1
+++ b/Site Management/Features/Activate or deactivate a SPO feature for direct subsites in site collection/enablefeature.ps1
@@ -19,32 +19,25 @@ $featureguid=new-object System.Guid $feature
$RemoveorAdd= Read-Host "Do you want to activate the feature to the sites (a) or deactivate it (d)? Press a or d."
$RemoveorAdd=$RemoveorAdd.Trim()
-if($RemoveorAdd -like "a")
-{
-
- foreach($site in $sites)
- {
- $site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
- #$site.Features.Remove($featureguid, $true);
- $ctx.ExecuteQuery()
- Write-Host "Feature enabled for" $site.Url
+if($RemoveorAdd -like "a"){
+ foreach($site in $sites){
+ $site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
+ #$site.Features.Remove($featureguid, $true);
+ $ctx.ExecuteQuery()
+ Write-Host "Feature enabled for" $site.Url
}
Write-Host "Done."
}
-elseif($RemoveorAdd -like "d")
-{
-
- foreach($site in $sites)
- {
- $site.Features.Remove($featureguid, $true);
- $ctx.ExecuteQuery()
- Write-Host "Feature removed for" $site.Url
+elseif($RemoveorAdd -like "d"){
+ foreach($site in $sites){
+ $site.Features.Remove($featureguid, $true);
+ $ctx.ExecuteQuery()
+ Write-Host "Feature removed for" $site.Url
}
Write-Host "Done."
}
-else
-{
-Write-Host "Didn't recognize the command"
+else{
+ Write-Host "Didn't recognize the command"
}
From 7fcbea5acf855224c0b0f071f2cae6f2be2034fa Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:49:11 +0100
Subject: [PATCH 018/312] Update description.md
---
.../description.md | 30 ++++++-------------
1 file changed, 9 insertions(+), 21 deletions(-)
diff --git a/Site Management/Features/Activate or deactivate a feature for a site and its subsites/description.md b/Site Management/Features/Activate or deactivate a feature for a site and its subsites/description.md
index 66f37737..156210ed 100644
--- a/Site Management/Features/Activate or deactivate a feature for a site and its subsites/description.md
+++ b/Site Management/Features/Activate or deactivate a feature for a site and its subsites/description.md
@@ -1,29 +1,18 @@
-A simple script for SharePoint Online that activates or de-activates a feature for a site,then finds all its subsites and enables/disables the chosen SharePoint feature for all of them. You need to have the required permissions for the site and known the feature guid. The list of guids can be found here:
+A simple script for SharePoint Online that activates or de-activates a feature for a site,then finds all its subsites and enables/disables the chosen SharePoint feature for all of them. You need to have the required permissions for the site and known the feature guid. The list of guids can be found [here](http://blogs.msdn.com/b/razi/archive/2013/10/28/listing-all-sharepoint-2013-features-including-name-title-scope-id-and-description.aspx).
-http://blogs.msdn.com/b/razi/archive/2013/10/28/listing-all-sharepoint-2013-features-including-name-title-scope-id-and-description.aspx
+Before running the script, verify the paths to [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038):
-
-
-
-
-Before running the script, verify the paths to SharePoint Online SDK:
-
-
-
-PowerShell
+```PowerShell
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-
-
+ ```
Optionally, you can edit these two lines so that the script doesn'task you for credentials at runtime:
-
-
-PowerShell
+```PowerShell
$siteUrl = Read-Host -Prompt "Enter https://tenant.sharepoint.com/sites/mysitecollection”
$username = Read-Host -Prompt "Enter admin@tenant.onmicrosoft.com"
-
+ ```
During its execution the script will inform you, where the features have been changed.
@@ -36,9 +25,8 @@ During its execution the script will inform you, where the features have been ch
-Related scripts
-
+### Related scripts
-Activate or deactivate a SPO feature for direct subsites in site collection
+[Activate or deactivate a SPO feature for direct subsites in site collection](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-bc6534e9)
-Activate or deactivate a SPO feature for a single site
+[Activate or deactivate a SPO feature for a single site](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-9fe2fb34)
From c8bf1fc3fd1fb6ebd544e2eeb0ecb6b74e1552c3 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:50:49 +0100
Subject: [PATCH 019/312] Update enablefeatureWithRecursion.ps1
---
.../enablefeatureWithRecursion.ps1 | 123 ++++++++----------
1 file changed, 53 insertions(+), 70 deletions(-)
diff --git a/Site Management/Features/Activate or deactivate a feature for a site and its subsites/enablefeatureWithRecursion.ps1 b/Site Management/Features/Activate or deactivate a feature for a site and its subsites/enablefeatureWithRecursion.ps1
index a66670b4..e8d46666 100644
--- a/Site Management/Features/Activate or deactivate a feature for a site and its subsites/enablefeatureWithRecursion.ps1
+++ b/Site Management/Features/Activate or deactivate a feature for a site and its subsites/enablefeatureWithRecursion.ps1
@@ -1,68 +1,60 @@
-function Remove-SPOFeature
-{
-param (
- [string]$Username,
+function Remove-SPOFeature{
+ param (
+ [string]$Username,
[Parameter(Mandatory=$true,Position=1)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$password
-)
+ )
-$ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
-$site=$ctx.Web
-$ctx.Load($site)
-$ctx.Load($ctx.Web.Webs)
-$ctx.ExecuteQuery()
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $site=$ctx.Web
+ $ctx.Load($site)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
- $site.Features.Remove($featureguid, $true);
- $ctx.ExecuteQuery()
- Write-Host "Feature removed for" $site.Url
- if($ctx.Web.Webs.Count -gt 0)
- {
- foreach ($web in $ctx.Web.Webs)
- {
- Remove-SPOFeature -Username $Username -Url $web.Url -password $password
- }
- }
+ $site.Features.Remove($featureguid, $true);
+ $ctx.ExecuteQuery()
+ Write-Host "Feature removed for" $site.Url
+ if($ctx.Web.Webs.Count -gt 0){
+ foreach ($web in $ctx.Web.Webs){
+ Remove-SPOFeature -Username $Username -Url $web.Url -password $password
+ }
+ }
}
-function Add-SPOFeature
-{
-param (
- [string]$Username,
+function Add-SPOFeature{
+ param (
+ [string]$Username,
[Parameter(Mandatory=$true,Position=1)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$password
-)
+ )
-$ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
-$site=$ctx.Web
-$ctx.Load($site)
-$ctx.Load($ctx.Web.Webs)
-$ctx.ExecuteQuery()
-
-
- $site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
- $ctx.ExecuteQuery()
- Write-Host "Feature enabled for" $site.Url
-
- if($ctx.Web.Webs.Count -gt 0)
- {
- foreach ($web in $ctx.Web.Webs)
- {
- Add-SPOFeature -Username $Username -Url $web.Url -password $password
- }
- }
-
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+
+ $site=$ctx.Web
+ $ctx.Load($site)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
+
+
+ $site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
+ $ctx.ExecuteQuery()
+ Write-Host "Feature enabled for" $site.Url
+
+ if($ctx.Web.Webs.Count -gt 0){
+ foreach ($web in $ctx.Web.Webs){
+ Add-SPOFeature -Username $Username -Url $web.Url -password $password
+ }
+ }
}
@@ -76,35 +68,26 @@ $ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
$ctx.Credentials= New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
-try
-{
-$ctx.ExecuteQuery()
+try{
+ $ctx.ExecuteQuery()
+}
+catch [Net.WebException] {
+ Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
}
-catch [Net.WebException]
- {
-
- Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
- }
$feature=Read-Host -Prompt "Enter the feature id, e.g. for SharePoint Server Publishing it's 94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb"
$featureguid=new-object System.Guid $feature
$RemoveorAdd= Read-Host "Do you want to activate the feature to the sites (a) or deactivate it (d)? Press a or d."
$RemoveorAdd=$RemoveorAdd.Trim()
-if($RemoveorAdd -like "a")
-{
-
- Add-SPOFeature -Username $username -Url $siteUrl -password $password
-
+if($RemoveorAdd -like "a"){
+ Add-SPOFeature -Username $username -Url $siteUrl -password $password
}
-elseif($RemoveorAdd -like "d")
-{
- Remove-SPOFeature -Username $username -Url $siteUrl -password $password
-
+elseif($RemoveorAdd -like "d"){
+ Remove-SPOFeature -Username $username -Url $siteUrl -password $password
}
-else
-{
-Write-Host "Didn't recognize the command"
+else{
+ Write-Host "Didn't recognize the command"
}
From 4917fd6f879ccf55deafca32a798f4e1139e1b55 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:53:38 +0100
Subject: [PATCH 020/312] Update description.md
---
.../description.md | 25 ++++++-------------
1 file changed, 8 insertions(+), 17 deletions(-)
diff --git a/Site Management/Features/Activate or deactivate a site collection feature/description.md b/Site Management/Features/Activate or deactivate a site collection feature/description.md
index 01661ede..371183e3 100644
--- a/Site Management/Features/Activate or deactivate a site collection feature/description.md
+++ b/Site Management/Features/Activate or deactivate a site collection feature/description.md
@@ -1,37 +1,28 @@
-A simple script for SharePoint Online that activates or de-activates a feature for a site collection. You need to have the required permissions for the site collection and know the feature guid. The list of guids can be found here:
+A simple script for SharePoint Online that activates or de-activates a feature for a site collection. You need to have the required permissions for the site collection and know the feature guid. The list of guids can be found [here](
+http://blogs.msdn.com/b/razi/archive/2013/10/28/listing-all-sharepoint-2013-features-including-name-title-scope-id-and-description.aspx).
-http://blogs.msdn.com/b/razi/archive/2013/10/28/listing-all-sharepoint-2013-features-including-name-title-scope-id-and-description.aspx
-
-
-
-
-
-Before running the script, verify the paths to SharePoint Online SDK:
-
-
+Before running the script, verify the paths to [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038):
```PowerShell
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
```
-
Optionally, you can edit these two lines so that the script doesn'task you for credentials at runtime:
-
-
```PowerShell
$siteUrl = Read-Host -Prompt "Enter https://tenant.sharepoint.com/sites/mysitecollection”
$username = Read-Host -Prompt "Enter admin@tenant.onmicrosoft.com"
```
-
During its execution the script will inform you, when the feature has been changed.
-##### Related scripts
+### Related scripts
+
+[Activate or deactivate a SPO feature for direct subsites in site collection](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-9fe2fb34)
-Activate or deactivate a SPO feature for direct subsites in site collection [GitHub]( [Technet Gallery]
+[Activate or deactivate a SPO feature for a single site](https://github.com/PowershellScripts/AllGalleryScriptsSamples/tree/master/Site%20Management/Features/Activate%20or%20deactivate%20a%20SPO%20feature%20for%20a%20single%20site)
-Activate or deactivate a SPO feature for a single site [GitHub](https://github.com/PowershellScripts/AllGalleryScriptsSamples/tree/master/Site%20Management/Features/Activate%20or%20deactivate%20a%20SPO%20feature%20for%20a%20single%20site) [TechnetGallery](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-da769f9d)
+[TechnetGallery](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-da769f9d)
From b703e4322e35e72420e0e04bf39a2d0554facca6 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:57:02 +0100
Subject: [PATCH 021/312] Update description.md
---
.../description.md | 40 ++++++-------------
1 file changed, 12 insertions(+), 28 deletions(-)
diff --git a/Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md b/Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md
index f2c1fa5a..1349362f 100644
--- a/Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md
+++ b/Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md
@@ -1,59 +1,43 @@
-This script is a temporary solution intended to work together with Retrieve all SharePoint Online profiles and their properties using CSOM.
+This script is a temporary solution intended to work together with [Retrieve all SharePoint Online profiles and their properties using CSOM](https://gallery.technet.microsoft.com/Retrieve-all-SharePoint-357e2936).
-Using Retrieve all SharePoint Online profiles and their properties using CSOM generate a CSV file with personal sites in the format:
+Using [Retrieve all SharePoint Online profiles and their properties using CSOM](https://gallery.technet.microsoft.com/Retrieve-all-SharePoint-357e2936) generate a CSV file with personal sites in the format:
Site
+|---|
/personal/t_trial234_onmicrosoft_com/
/personal/uss100_trial234_onmicrosoft_com/
/personal/t_trial234_onmicrosoft_com/
-
The Column name has to be SITE.
+Run the script. It will ask you for credentials, [feature id](https://docs.microsoft.com/pl-pl/archive/blogs/), and whether you want to acivate it or de-activate.
-
-Run the script. It will ask you for credentials, feature id, and whether you want to acivate it or de-activate.
-
-
-
Before running the script, verify the paths to SharePoint Online SDK:
-
-
-PowerShell
+```PowerShell
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-
+ ```
Optionally, you can edit these two lines so that the script doesn'task you for credentials at runtime:
-
-
During its execution the script will inform you, where the features have been changed.
+### Related scripts
-
-
-
-
-
-
-Related scripts
-
-
-Activate or deactivate a SPO feature for direct subsites in site collection
+[Activate or deactivate a SPO feature for direct subsites in site collection](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-9fe2fb34)
-Activate or deactivate a SPO feature for a single site
+[Activate or deactivate a SPO feature for a single site](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-da769f9d)
-Activate or deactivate a site collection feature
+[Activate or deactivate a site collection feature ](https://gallery.technet.microsoft.com/Activate-or-deactivate-a-a7e12c79)
-Get all features from a site collection
+[Get all features from a site collection](https://gallery.technet.microsoft.com/Get-all-features-from-a-2954b47a)
-Get all features from a site
+[Get all features from a site](https://gallery.technet.microsoft.com/Get-all-features-from-a-3168e476)
From 3633ea2b5c65170ac8547c20d42d5a5e9cb5c496 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:58:58 +0100
Subject: [PATCH 022/312] Update AddFeaturesToPersonal.ps1
---
.../AddFeaturesToPersonal.ps1 | 126 ++++++++----------
1 file changed, 52 insertions(+), 74 deletions(-)
diff --git a/Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1 b/Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1
index 881acd45..ecec6128 100644
--- a/Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1
+++ b/Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1
@@ -1,55 +1,46 @@
-function Remove-SPOFeature
-{
-param (
- [string]$Username,
+function Remove-SPOFeature{
+ param (
+ [string]$Username,
[Parameter(Mandatory=$true,Position=1)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$password
-)
-
-$ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
-$site=$ctx.Site
-$ctx.Load($site)
-$ctx.ExecuteQuery()
+ )
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $site.Features.Remove($featureguid, $true);
- $ctx.ExecuteQuery()
- Write-Host "Feature removed for" $site.Url
+ $site=$ctx.Site
+ $ctx.Load($site)
+ $ctx.ExecuteQuery()
-
+ $site.Features.Remove($featureguid, $true);
+ $ctx.ExecuteQuery()
+ Write-Host "Feature removed for" $site.Url
}
-function Add-SPOFeature
-{
-param (
- [string]$Username,
+function Add-SPOFeature{
+ param (
+ [string]$Username,
[Parameter(Mandatory=$true,Position=1)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$password
-)
-
-$ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
-$site=$ctx.Site
-$ctx.Load($site)
-$ctx.Load($ctx.Web.Webs)
-$ctx.ExecuteQuery()
+ )
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
- $ctx.ExecuteQuery()
- Write-Host "Feature enabled for" $site.Url
+ $site=$ctx.Site
+ $ctx.Load($site)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
-
-
+ $site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
+ $ctx.ExecuteQuery()
+ Write-Host "Feature enabled for" $site.Url
}
@@ -68,55 +59,42 @@ $ctx.Credentials= New-Object Microsoft.SharePoint.Client.SharePointOnlineCredent
$adminUrl=$siteUrl.Replace("-my","-admin")
Connect-SPOService -Url $adminUrl -Credential $username
-try
-{
-$ctx.ExecuteQuery()
+try{
+ $ctx.ExecuteQuery()
+}
+catch [Net.WebException] {
+ Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
}
-catch [Net.WebException]
- {
-
- Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
- }
$feature=Read-Host -Prompt "Enter the feature id, e.g. for SharePoint Server Publishing it's 94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb"
$featureguid=new-object System.Guid $feature
$RemoveorAdd= Read-Host "Do you want to activate the feature to the sites (a) or deactivate it (d)? Press a or d."
$RemoveorAdd=$RemoveorAdd.Trim()
-if($RemoveorAdd -like "a")
-{
-
- foreach($user in $users)
- {
- if($user.Site -ne "")
- {
- $urelek=$siteUrl+$user.Site
- $urelek=$urelek.TrimEnd("/")
- Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $true
- Add-SPOFeature -Username $username -Url $urelek -password $password
+if($RemoveorAdd -like "a"){
+ foreach($user in $users){
+ if($user.Site -ne ""){
+ $urelek=$siteUrl+$user.Site
+ $urelek=$urelek.TrimEnd("/")
+ Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $true
+ Add-SPOFeature -Username $username -Url $urelek -password $password
#Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $false
-
- }
-
-}
+ }
+ }
}
-elseif($RemoveorAdd -like "d")
-{
- foreach($user in $users)
- {
- if($user.Site -ne "")
- {
- $urelek=$siteUrl+$user.Site
- $urelek=$urelek.TrimEnd("/")
- Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $true
- Remove-SPOFeature -Username $username -Url $urelek -password $password
- }
- }
+elseif($RemoveorAdd -like "d"){
+ foreach($user in $users){
+ if($user.Site -ne ""){
+ $urelek=$siteUrl+$user.Site
+ $urelek=$urelek.TrimEnd("/")
+ Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $true
+ Remove-SPOFeature -Username $username -Url $urelek -password $password
+ }
+ }
}
-else
-{
-Write-Host "Didn't recognize the command"
+else{
+ Write-Host "Didn't recognize the command"
}
From 7093575ae0c623a9a49f6a224d461802fac7c853 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 15:59:49 +0100
Subject: [PATCH 023/312] Update enablefeature.ps1
---
.../Features/Enable feature/enablefeature.ps1 | 25 +++++++------------
1 file changed, 9 insertions(+), 16 deletions(-)
diff --git a/Site Management/Features/Enable feature/enablefeature.ps1 b/Site Management/Features/Enable feature/enablefeature.ps1
index 2c8c5acb..a68f2567 100644
--- a/Site Management/Features/Enable feature/enablefeature.ps1
+++ b/Site Management/Features/Enable feature/enablefeature.ps1
@@ -24,32 +24,25 @@ $featureguid=new-object System.Guid $feature
$RemoveorAdd= Read-Host "Do you want to activate the feature to the sites (a) or deactivate it (d)? Press a or d."
$RemoveorAdd=$RemoveorAdd.Trim()
-if($RemoveorAdd -like "a")
-{
-
- foreach($site in $sites)
- {
+if($RemoveorAdd -like "a"){
+ foreach($site in $sites){
$site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
#$site.Features.Remove($featureguid, $true);
$ctx.ExecuteQuery()
Write-Host "Feature enabled for" $site.Url
- }
- Write-Host "Done."
+ }
+ Write-Host "Done."
}
-elseif($RemoveorAdd -like "d")
-{
-
- foreach($site in $sites)
- {
+elseif($RemoveorAdd -like "d"){
+ foreach($site in $sites){
$site.Features.Remove($featureguid, $true);
$ctx.ExecuteQuery()
Write-Host "Feature removed for" $site.Url
- }
+ }
Write-Host "Done."
}
-else
-{
-Write-Host "Didn't recognize the command"
+else{
+ Write-Host "Didn't recognize the command"
}
From 596f47590c90246ba1dcc868392db7cda5d0029e Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:01:23 +0100
Subject: [PATCH 024/312] Update description.md
---
.../description.md | 31 ++++---------------
1 file changed, 6 insertions(+), 25 deletions(-)
diff --git a/Site Management/Features/Get all features from a site collection/description.md b/Site Management/Features/Get all features from a site collection/description.md
index 0e684c55..66348e51 100644
--- a/Site Management/Features/Get all features from a site collection/description.md
+++ b/Site Management/Features/Get all features from a site collection/description.md
@@ -1,23 +1,14 @@
A simple script for SharePoint Online to get all site collection features activated at a particular site collection.
-
-
-
-
Before running the script, verify the paths to SharePoint Online SDK:
-
-
-PowerShell
+```PowerShell
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-
-
+ ```
Optionally, you can edit these two lines so that the script doesn'task you for credentials at runtime:
-
-
```PowerShell
$siteUrl = Read-Host -Prompt "Enter https://tenant.sharepoint.com/sites/mysitecollection”
$username = Read-Host -Prompt "Enter admin@tenant.onmicrosoft.com"
@@ -26,21 +17,11 @@ $username = Read-Host -Prompt "Enter admin@tenant.onmicrosoft.com"
During its execution the script will inform you what features are activated in a given site collection:
-
-
-
-
-
-
-
-
-
-
-
+
-#### Related scripts
+### Related scripts
-Activate or deactivate a SPO feature for direct subsites in site collection
+[Activate or deactivate a SPO feature for direct subsites in site collection](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-9fe2fb34)
-Activate or deactivate a SPO feature for a single site
+[Activate or deactivate a SPO feature for a single site](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-da769f9d)
From c26cb7e6189b0246c0cd4ef4e5243eafeb9de2f8 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:02:00 +0100
Subject: [PATCH 025/312] Update GetSPOSiteFeatures.ps1
---
.../GetSPOSiteFeatures.ps1 | 54 +++++++------------
1 file changed, 20 insertions(+), 34 deletions(-)
diff --git a/Site Management/Features/Get all features from a site collection/GetSPOSiteFeatures.ps1 b/Site Management/Features/Get all features from a site collection/GetSPOSiteFeatures.ps1
index f00fe564..d29918cd 100644
--- a/Site Management/Features/Get all features from a site collection/GetSPOSiteFeatures.ps1
+++ b/Site Management/Features/Get all features from a site collection/GetSPOSiteFeatures.ps1
@@ -1,29 +1,24 @@
-function Get-SPOFeature
-{
-param (
- [string]$Username,
+function Get-SPOFeature{
+ param (
+ [string]$Username,
[Parameter(Mandatory=$true,Position=1)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$password
-)
-
-$ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
-$site=$ctx.Site
-$ctx.Load($site.Features)
-$ctx.Load($ctx.Web.Webs)
-$ctx.ExecuteQuery()
+ )
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- for($i=0;$i -lt $site.Features.Count ;$i++)
-{
+ $site=$ctx.Site
+ $ctx.Load($site.Features)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
-Write-Output $site.Features[$i].DefinitionID
-
-}
+ for($i=0;$i -lt $site.Features.Count ;$i++){
+ Write-Output $site.Features[$i].DefinitionID
+ }
}
@@ -40,23 +35,14 @@ $ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
$ctx.Credentials= New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
-try
-{
-$ctx.ExecuteQuery()
+try{
+ $ctx.ExecuteQuery()
+}
+catch [Net.WebException] {
+ Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
}
-catch [Net.WebException]
- {
-
- Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
- }
-
-
-
- Get-SPOFeature -Username $username -Url $siteUrl -password $password
+Get-SPOFeature -Username $username -Url $siteUrl -password $password
-
-
-
Write-Host "Done." -ForegroundColor Green
From c7e11cfb966650f43297dd701b5854e0be94f442 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:04:10 +0100
Subject: [PATCH 026/312] Update description.md
---
.../description.md | 43 ++++---------------
1 file changed, 9 insertions(+), 34 deletions(-)
diff --git a/Site Management/Features/Get all features from a site/description.md b/Site Management/Features/Get all features from a site/description.md
index 66b017c3..a73c606d 100644
--- a/Site Management/Features/Get all features from a site/description.md
+++ b/Site Management/Features/Get all features from a site/description.md
@@ -1,50 +1,25 @@
-A simple script for SharePoint Online to retrieve all site features activated at a site level (not site collection).
-
-
-
-
-
-
+A simple script for SharePoint Online to **retrieve all site features activated at a site level** (not site collection).
Before running the script, verify the paths to SharePoint Online SDK:
-
-
-PowerShell
+```PowerShell
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+ ```
-
-
Optionally, you can edit these two lines so that the script doesn'task you for credentials at runtime:
-
-
-PowerShell
+```PowerShell
$siteUrl = Read-Host -Prompt "Enter https://tenant.sharepoint.com/sites/mysitecollection”
$username = Read-Host -Prompt "Enter admin@tenant.onmicrosoft.com"
-
-
+```
During its execution the script will inform you what features are activated in a given site collection.
-
-
-
-
-
-
-
-
-
-
-
-
-Related scripts
-
+### Related scripts
-Activate or deactivate a SPO feature for direct subsites in site collection
+[Activate or deactivate a SPO feature for direct subsites in site collection](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-9fe2fb34)
-Activate or deactivate a SPO feature for a single site
+[Activate or deactivate a SPO feature for a single site](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-da769f9d)
-Get all features from a site collection
+[Get all features from a site collection](https://gallery.technet.microsoft.com/Get-all-features-from-a-2954b47a)
From 52665e10fe15302e8bcec480332047661fa21638 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:04:51 +0100
Subject: [PATCH 027/312] Update GetSPOWebFeatures.ps1
---
.../GetSPOWebFeatures.ps1 | 54 +++++++------------
1 file changed, 20 insertions(+), 34 deletions(-)
diff --git a/Site Management/Features/Get all features from a site/GetSPOWebFeatures.ps1 b/Site Management/Features/Get all features from a site/GetSPOWebFeatures.ps1
index bb47ab43..41ef0ebf 100644
--- a/Site Management/Features/Get all features from a site/GetSPOWebFeatures.ps1
+++ b/Site Management/Features/Get all features from a site/GetSPOWebFeatures.ps1
@@ -1,29 +1,24 @@
-function Get-SPOFeature
-{
-param (
- [string]$Username,
+function Get-SPOFeature{
+ param (
+ [string]$Username,
[Parameter(Mandatory=$true,Position=1)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$password
-)
-
-$ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
-$site=$ctx.Web
-$ctx.Load($site.Features)
-$ctx.Load($ctx.Web.Webs)
-$ctx.ExecuteQuery()
+ )
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- for($i=0;$i -lt $site.Features.Count ;$i++)
-{
+ $site=$ctx.Web
+ $ctx.Load($site.Features)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
-Write-Output $site.Features[$i].DefinitionID
-
-}
+ for($i=0;$i -lt $site.Features.Count ;$i++){
+ Write-Output $site.Features[$i].DefinitionID
+ }
}
@@ -40,23 +35,14 @@ $ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
$ctx.Credentials= New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
-try
-{
-$ctx.ExecuteQuery()
+try{
+ $ctx.ExecuteQuery()
+}
+catch [Net.WebException] {
+ Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
}
-catch [Net.WebException]
- {
-
- Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
- }
-
-
-
-
- Get-SPOFeature -Username $username -Url $siteUrl -password $password
-
-
+Get-SPOFeature -Username $username -Url $siteUrl -password $password
Write-Host "Done." -ForegroundColor Green
From 6ae172ee5e24832127e5c523625ed05db3a64b30 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:06:32 +0100
Subject: [PATCH 028/312] Update description.md
---
.../description.md | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/Site Management/Get SharePoint Online Access Requests Settings with REST API/description.md b/Site Management/Get SharePoint Online Access Requests Settings with REST API/description.md
index ff805079..a433e92b 100644
--- a/Site Management/Get SharePoint Online Access Requests Settings with REST API/description.md
+++ b/Site Management/Get SharePoint Online Access Requests Settings with REST API/description.md
@@ -4,28 +4,22 @@ Short Powershell script to retrieve the access requests settings using REST.
In order to use the script, download, open the file and enter the admin's username and the site's url in the script:
-PowerShell
+```PowerShell
#Enter the data
$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
$username="t@t321.onmicrosoft.com"
$Url="https://t321.sharepoint.com/polski"
-
+ ```
You do not need to enter the password. You will be prompted for it during script's execution.
-
-
Sample result:
-
-
-
-
-
+
You can also check out articles on Access Requests settings and how to manage them not only with REST, but also CSOM and User Interface:
-Managing SharePoint Online Access Requests using Powershell
+[Managing SharePoint Online Access Requests using Powershell](https://social.technet.microsoft.com/wiki/contents/articles/31157.manage-sharepoint-online-access-requests-using-powershell.aspxv)
- SharePoint 2013/2016: Approve or decline Access Requests using Powershell and CSOM
+[SharePoint 2013/2016: Approve or decline Access Requests using Powershell and CSOM](https://social.technet.microsoft.com/wiki/contents/articles/37401.sharepoint-online-approve-or-decline-access-requests-using-powershell-and-csom.aspx)
From b3bcaca43810f37578ab865856710a43a30f996e Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:07:18 +0100
Subject: [PATCH 029/312] Update GetSPOAccessRequestsWithREST.ps1
---
.../GetSPOAccessRequestsWithREST.ps1 | 64 +++++++------------
1 file changed, 22 insertions(+), 42 deletions(-)
diff --git a/Site Management/Get SharePoint Online Access Requests Settings with REST API/GetSPOAccessRequestsWithREST.ps1 b/Site Management/Get SharePoint Online Access Requests Settings with REST API/GetSPOAccessRequestsWithREST.ps1
index 42be46bf..3c84e30f 100644
--- a/Site Management/Get SharePoint Online Access Requests Settings with REST API/GetSPOAccessRequestsWithREST.ps1
+++ b/Site Management/Get SharePoint Online Access Requests Settings with REST API/GetSPOAccessRequestsWithREST.ps1
@@ -1,54 +1,34 @@
-function Get-AccessRequests
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-AccessRequests{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$password,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string] $url
- )
+ )
-
- $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $RestUrl=$url+"/_api/web/lists/getbytitle('Access Requests')"
-
-
-
- $request = [System.Net.WebRequest]::Create($RESTUrl)
- $request.Credentials = $Credentials
- $request.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
- $request.Accept = "application/json;odata=verbose"
- [Microsoft.PowerShell.Commands.WebRequestMethod]$Method = [Microsoft.PowerShell.Commands.WebRequestMethod]::Get
- $request.Method=$Method
- $response = $request.GetResponse()
- $requestStream = $response.GetResponseStream()
- $read = New-Object System.IO.StreamReader $requestStream
- $data=$read.ReadToEnd()
- $results = $data | ConvertFrom-Json
-
-
-
-
- Write-Output ($results.d)
-
-
-
-
-
-
-
-
- }
-
+ $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $RestUrl=$url+"/_api/web/lists/getbytitle('Access Requests')"
-
-
+ $request = [System.Net.WebRequest]::Create($RESTUrl)
+ $request.Credentials = $Credentials
+ $request.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
+ $request.Accept = "application/json;odata=verbose"
+ [Microsoft.PowerShell.Commands.WebRequestMethod]$Method = [Microsoft.PowerShell.Commands.WebRequestMethod]::Get
+ $request.Method=$Method
+ $response = $request.GetResponse()
+ $requestStream = $response.GetResponseStream()
+ $read = New-Object System.IO.StreamReader $requestStream
+ $data=$read.ReadToEnd()
+ $results = $data | ConvertFrom-Json
+ Write-Output ($results.d)
+}
#Paths to SDK
Add-Type -Path "H:\Libraries\Microsoft.SharePoint.Client.dll"
@@ -63,4 +43,4 @@ $Url="https://t321.sharepoint.com/polski"
-Get-AccessRequests -Username $username -Url $Url -password $AdminPassword
\ No newline at end of file
+Get-AccessRequests -Username $username -Url $Url -password $AdminPassword
From b17ede34fa4899f23117868cf04bf64d86b55851 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:08:42 +0100
Subject: [PATCH 030/312] Update description.md
---
.../description.md | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/Site Management/Get SharePoint Online Access Requests with REST API/description.md b/Site Management/Get SharePoint Online Access Requests with REST API/description.md
index 36eeb63a..014acc63 100644
--- a/Site Management/Get SharePoint Online Access Requests with REST API/description.md
+++ b/Site Management/Get SharePoint Online Access Requests with REST API/description.md
@@ -1,32 +1,26 @@
Short Powershell script to retrieve the access requests using REST.
-
-
In order to use the script, download, open the file and enter the admin's username and the site's url in the script:
-PowerShell
+```PowerShell
#Enter the data
$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
$username="t@t321.onmicrosoft.com"
$Url="https://t321.sharepoint.com/polski"
-
+ ```
You do not need to enter the password. You will be prompted for it during script's execution.
Sample result:
-
-
-
-
-
+
You can also check out articles on Access Requests settings and how to manage them not only with REST, but also CSOM and User Interface:
-Managing SharePoint Online Access Requests using Powershell
+[Managing SharePoint Online Access Requests using Powershell](https://social.technet.microsoft.com/wiki/contents/articles/31157.manage-sharepoint-online-access-requests-using-powershell.aspx)
- SharePoint 2013/2016: Approve or decline Access Requests using Powershell and CSOM
+[SharePoint 2013/2016: Approve or decline Access Requests using Powershell and CSOM](https://social.technet.microsoft.com/wiki/contents/articles/37401.sharepoint-online-approve-or-decline-access-requests-using-powershell-and-csom.aspx)
From 52fbb2df334b9a467f686a836b650dab3d131e4e Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:09:21 +0100
Subject: [PATCH 031/312] Update GetSPOAccessRequestsItemsWithREST.ps1
---
.../GetSPOAccessRequestsItemsWithREST.ps1 | 75 +++++++------------
1 file changed, 26 insertions(+), 49 deletions(-)
diff --git a/Site Management/Get SharePoint Online Access Requests with REST API/GetSPOAccessRequestsItemsWithREST.ps1 b/Site Management/Get SharePoint Online Access Requests with REST API/GetSPOAccessRequestsItemsWithREST.ps1
index 44f3302c..3d595d38 100644
--- a/Site Management/Get SharePoint Online Access Requests with REST API/GetSPOAccessRequestsItemsWithREST.ps1
+++ b/Site Management/Get SharePoint Online Access Requests with REST API/GetSPOAccessRequestsItemsWithREST.ps1
@@ -1,54 +1,31 @@
-function Get-AccessRequests
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-AccessRequests{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$password,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string] $url
- )
-
-
-
- $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $RestUrl=$url+"/_api/web/lists/getbytitle('Access Requests')/items"
-
-
-
- $request = [System.Net.WebRequest]::Create($RESTUrl)
- $request.Credentials = $Credentials
- $request.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
- $request.Accept = "application/json;odata=verbose"
- [Microsoft.PowerShell.Commands.WebRequestMethod]$Method = [Microsoft.PowerShell.Commands.WebRequestMethod]::Get
- $request.Method=$Method
- $response = $request.GetResponse()
- $requestStream = $response.GetResponseStream()
- $read = New-Object System.IO.StreamReader $requestStream
- $data=$read.ReadToEnd()
- # Because the string contains duplicate 'ID' keys.
- $results = $data.ToString().Replace("ID", "_ID") | ConvertFrom-Json
-
-
-
- return ($results.d.results)
-
-
-
-
-
-
-
-
- }
-
-
-
-
-
-
-
-
+ )
+
+ $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $RestUrl=$url+"/_api/web/lists/getbytitle('Access Requests')/items"
+
+ $request = [System.Net.WebRequest]::Create($RESTUrl)
+ $request.Credentials = $Credentials
+ $request.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
+ $request.Accept = "application/json;odata=verbose"
+ [Microsoft.PowerShell.Commands.WebRequestMethod]$Method = [Microsoft.PowerShell.Commands.WebRequestMethod]::Get
+ $request.Method=$Method
+ $response = $request.GetResponse()
+ $requestStream = $response.GetResponseStream()
+ $read = New-Object System.IO.StreamReader $requestStream
+ $data=$read.ReadToEnd()
+ # Because the string contains duplicate 'ID' keys.
+ $results = $data.ToString().Replace("ID", "_ID") | ConvertFrom-Json
+
+ return ($results.d.results)
+}
#Paths to SDK
Add-Type -Path "H:\Libraries\Microsoft.SharePoint.Client.dll"
@@ -63,4 +40,4 @@ $Url="https://t321.sharepoint.com/polski"
-Get-AccessRequests -Username $username -Url $Url -password $AdminPassword
\ No newline at end of file
+Get-AccessRequests -Username $username -Url $Url -password $AdminPassword
From 3f470988f7facfcb869b67d7a4a380fa6a196fe0 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:11:52 +0100
Subject: [PATCH 032/312] Update description.md
---
.../description.md | 49 +++++++------------
1 file changed, 17 insertions(+), 32 deletions(-)
diff --git a/Site Management/Get SharePoint Online Site Properties/description.md b/Site Management/Get SharePoint Online Site Properties/description.md
index 9db73c75..6cc233b4 100644
--- a/Site Management/Get SharePoint Online Site Properties/description.md
+++ b/Site Management/Get SharePoint Online Site Properties/description.md
@@ -1,26 +1,18 @@
The script retrieves all properties for a Web.
-
-
-
+
-Requirements
-
-
+## *Requirements*
The following script requires:
-SharePoint Online SDK
+[SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038)
-
+## *How to use?*
-
-
-How to use?
-
-1. Open the following location:
+**1.** Open the following location:
-"c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\"
+```"c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\"```
If the location exists and you can see
@@ -30,34 +22,27 @@ Microsoft.SharePoint.Client.Runtime.dll
Skip the next step and go to Step 3.
-
-
-2. If the dlls are not in this location, find them, open the file with the script and correct the following paths to the locations on your computer:
+**2.** If the dlls are not in this location, find them, open the file with the script and correct the following paths to the locations on your computer:
-
-
-PowerShell
+```PowerShell
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+ ```
-
-3. Enter the credentials. You will be asked for password during the script's execution:
-
-
+**3.** Enter the credentials. You will be asked for password during the script's execution:
-PowerShell
+```PowerShell
$Username="t@trial345.onmicrosoft.com"
$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$SiteUrl="https://trial345.sharepoint.com/sites/teamsitewithlibraries"
- 4. Open Powershell as Administrator. Run the script. If execution of the scripts is forbidden, you can use the cmdlet:
+```
+
+**4.** Open Powershell as Administrator. Run the script. If execution of the scripts is forbidden, you can use the cmdlet:
-PowerShell
+```PowerShell
Set-ExecutionPolicy remotesigned
-
-5. The results will display in a 2-column table as in the screenshot above.
+```
-
-
-
+**5.** The results will display in a 2-column table as in the screenshot above.
The script works for one site collection only. If you want to get properties of more sites, please check other Technet Gallery scripts.
From 4e6be24ee17de7edac8b854c6d4aa6d6bfcf332c Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:12:44 +0100
Subject: [PATCH 033/312] Update GetSiteProperties.ps1
---
.../GetSiteProperties.ps1 | 40 +++++++++----------
1 file changed, 18 insertions(+), 22 deletions(-)
diff --git a/Site Management/Get SharePoint Online Site Properties/GetSiteProperties.ps1 b/Site Management/Get SharePoint Online Site Properties/GetSiteProperties.ps1
index 11f671d4..4d5eac4f 100644
--- a/Site Management/Get SharePoint Online Site Properties/GetSiteProperties.ps1
+++ b/Site Management/Get SharePoint Online Site Properties/GetSiteProperties.ps1
@@ -1,29 +1,25 @@
-function Get-SPOSiteProperties
-{
-
- param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-SPOSiteProperties{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
- )
-
-# Connect and load all prerequisites
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials ($Username, $AdminPassword)
- $ctx.ExecuteQuery()
- $ctx.Load($ctx.Web)
- $ctx.Load($ctx.Web.AllProperties)
- $ctx.ExecuteQuery()
+ )
- foreach ($ap in $ctx.Web.AllProperties.FieldValues)
- {
- Write-Output $ap
- }
+ # Connect and load all prerequisites
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials ($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Web.AllProperties)
+ $ctx.ExecuteQuery()
- }
+ foreach ($ap in $ctx.Web.AllProperties.FieldValues){
+ Write-Output $ap
+ }
+}
@@ -39,4 +35,4 @@ $SiteUrl="https://trial345.sharepoint.com/sites/teamsitewithlibraries"
- Get-SPOSiteProperties -Username $Username -AdminPassword $AdminPassword -Url $SiteUrl
\ No newline at end of file
+ Get-SPOSiteProperties -Username $Username -AdminPassword $AdminPassword -Url $SiteUrl
From 4bcf2ee749b3a319c59a031afc46cf2d02cda9be Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:14:03 +0100
Subject: [PATCH 034/312] Update description.md
---
.../description.md | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/Site Management/Get SharePoint Server 2013-2016 Access Requests with REST API/description.md b/Site Management/Get SharePoint Server 2013-2016 Access Requests with REST API/description.md
index dbaefaac..26c441f7 100644
--- a/Site Management/Get SharePoint Server 2013-2016 Access Requests with REST API/description.md
+++ b/Site Management/Get SharePoint Server 2013-2016 Access Requests with REST API/description.md
@@ -6,29 +6,25 @@ In order to use the script, download, open the file and enter the admin's userna
-PowerShell
+```PowerShell
#Enter the data
$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
$username="administrator"
$Url="http://dva"
-
+ ```
You do not need to enter the password. You will be prompted for it during script's execution.
Sample result:
-
-
-
-
-
+
You can also check out articles on Access Requests settings and how to manage them not only with REST, but also CSOM and User Interface:
-Managing SharePoint Online Access Requests using Powershell
+[Managing SharePoint Online Access Requests using Powershell](https://social.technet.microsoft.com/wiki/contents/articles/31157.manage-sharepoint-online-access-requests-using-powershell.aspx)
- SharePoint 2013/2016: Approve or decline Access Requests using Powershell and CSOM
+[SharePoint 2013/2016: Approve or decline Access Requests using Powershell and CSOM](https://social.technet.microsoft.com/wiki/contents/articles/37401.sharepoint-online-approve-or-decline-access-requests-using-powershell-and-csom.aspx)
From 62a9ebb00a9db021e7fa9cc44c58c2791fd498aa Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:14:44 +0100
Subject: [PATCH 035/312] Update GetSPServerAccessRequestsItemsWithREST.ps1
---
...GetSPServerAccessRequestsItemsWithREST.ps1 | 71 +++++++------------
1 file changed, 24 insertions(+), 47 deletions(-)
diff --git a/Site Management/Get SharePoint Server 2013-2016 Access Requests with REST API/GetSPServerAccessRequestsItemsWithREST.ps1 b/Site Management/Get SharePoint Server 2013-2016 Access Requests with REST API/GetSPServerAccessRequestsItemsWithREST.ps1
index 2611bf24..22bc9f81 100644
--- a/Site Management/Get SharePoint Server 2013-2016 Access Requests with REST API/GetSPServerAccessRequestsItemsWithREST.ps1
+++ b/Site Management/Get SharePoint Server 2013-2016 Access Requests with REST API/GetSPServerAccessRequestsItemsWithREST.ps1
@@ -1,60 +1,37 @@
-function Get-AccessRequests
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-AccessRequests{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$password,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string] $url
- )
+ )
- $Credentials = New-Object System.Net.NetworkCredential($Username, $password)
- # $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $RestUrl=$url+"/_api/web/lists/getbytitle('Access Requests')/items"
+ $Credentials = New-Object System.Net.NetworkCredential($Username, $password)
+ # $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $RestUrl=$url+"/_api/web/lists/getbytitle('Access Requests')/items"
+ $request = [System.Net.WebRequest]::Create($RESTUrl)
+ $request.Credentials = $Credentials
+ $request.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
+ $request.Accept = "application/json;odata=verbose"
+ [Microsoft.PowerShell.Commands.WebRequestMethod]$Method = [Microsoft.PowerShell.Commands.WebRequestMethod]::Get
+ $request.Method=$Method
+ $response = $request.GetResponse()
+ $requestStream = $response.GetResponseStream()
+ $read = New-Object System.IO.StreamReader $requestStream
+ $data=$read.ReadToEnd()
+ # Because the string contains duplicate 'ID' keys.
+ $results = $data.ToString().Replace("ID", "_ID") | ConvertFrom-Json
-
- $request = [System.Net.WebRequest]::Create($RESTUrl)
- $request.Credentials = $Credentials
- $request.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f")
- $request.Accept = "application/json;odata=verbose"
- [Microsoft.PowerShell.Commands.WebRequestMethod]$Method = [Microsoft.PowerShell.Commands.WebRequestMethod]::Get
- $request.Method=$Method
- $response = $request.GetResponse()
- $requestStream = $response.GetResponseStream()
- $read = New-Object System.IO.StreamReader $requestStream
- $data=$read.ReadToEnd()
- # Because the string contains duplicate 'ID' keys.
- $results = $data.ToString().Replace("ID", "_ID") | ConvertFrom-Json
+ return ($results.d.results)
+}
-
-
- return ($results.d.results)
-
-
-
-
-
-
-
-
- }
-
-
-
-
-
-
-
-
#Enter the data
$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
$username="administrator"
$Url="http://dva"
-
-
-
-Get-AccessRequests -Username $username -Url $Url -password $AdminPassword
\ No newline at end of file
+Get-AccessRequests -Username $username -Url $Url -password $AdminPassword
From 38fdc078e035ac16b18d4ded134b883f20481919 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:19:51 +0100
Subject: [PATCH 036/312] Update description.md
---
.../description.md | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/Site Management/Get all site collections and their subsites/description.md b/Site Management/Get all site collections and their subsites/description.md
index 91e0d731..a06c4746 100644
--- a/Site Management/Get all site collections and their subsites/description.md
+++ b/Site Management/Get all site collections and their subsites/description.md
@@ -6,16 +6,6 @@ If you run it in ISE you can easily copy-paste the results and search through th
Does not require any modifications, just open the script in any Powershell and run. It will ask you TWICE for credentials. Just follow the prompts:
-
-
-
-
-
-
-
-
-
-
-
+
-Enjoy and please share your feedback!!
+**and please share your feedback!!**
From fe16765d6ff6ff70293d05ae13e3cb7da486b4f7 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:20:32 +0100
Subject: [PATCH 037/312] Update description.md
---
.../Get all site collections and their subsites/description.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Site Management/Get all site collections and their subsites/description.md b/Site Management/Get all site collections and their subsites/description.md
index a06c4746..5ed7bc03 100644
--- a/Site Management/Get all site collections and their subsites/description.md
+++ b/Site Management/Get all site collections and their subsites/description.md
@@ -8,4 +8,4 @@ Does not require any modifications, just open the script in any Powershell and r
-**and please share your feedback!!**
+**Enjoy and please share your feedback!!**
From 0d9b40a0cf97fd3147ebdb1415e1cc7bad12846b Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:21:29 +0100
Subject: [PATCH 038/312] Update GetAllSiteandSubsitesRecursive.ps1
---
.../GetAllSiteandSubsitesRecursive.ps1 | 55 ++++++++-----------
1 file changed, 22 insertions(+), 33 deletions(-)
diff --git a/Site Management/Get all site collections and their subsites/GetAllSiteandSubsitesRecursive.ps1 b/Site Management/Get all site collections and their subsites/GetAllSiteandSubsitesRecursive.ps1
index 4007b4bc..fdb19a2d 100644
--- a/Site Management/Get all site collections and their subsites/GetAllSiteandSubsitesRecursive.ps1
+++ b/Site Management/Get all site collections and their subsites/GetAllSiteandSubsitesRecursive.ps1
@@ -1,31 +1,27 @@
-function Get-SPOAllWeb
-{
-
- param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-SPOAllWeb{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
- )
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.Load($ctx.Web.Webs)
- $ctx.Load($ctx.Web)
- $ctx.ExecuteQuery()
-
- Write-Host $ctx.Web.Url
- if($ctx.Web.Webs.Count -eq 0)
- {
-
- }
- else{
- foreach ($web in $ctx.Web.Webs)
- {
- Get-SPOAllWeb -Username $Username -AdminPassword $AdminPassword -Url $web.Url
- }}
-
+ )
+
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.Load($ctx.Web)
+ $ctx.ExecuteQuery()
+
+ Write-Host $ctx.Web.Url
+
+ if($ctx.Web.Webs.Count -eq 0){}
+ else{
+ foreach ($web in $ctx.Web.Webs){
+ Get-SPOAllWeb -Username $Username -AdminPassword $AdminPassword -Url $web.Url
+ }
+ }
}
$passie=Read-Host -Prompt "Password" -AsSecureString
@@ -34,15 +30,8 @@ $adminUserName=Read-Host -Prompt "Admin username"
Connect-SPOService -Url $adminUrelek -Credential $adminUserName
$sites=(Get-SPOSite -Limit All).Url
-
-
-foreach($url in $sites)
-{
-
- Get-SPOAllWeb -Username $adminUserName -AdminPassword $passie -Url $url
-
-
-
+foreach($url in $sites){
+ Get-SPOAllWeb -Username $adminUserName -AdminPassword $passie -Url $url
}
From 95789a8e1e00742d10b890aba8a381903ef7593a Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:22:46 +0100
Subject: [PATCH 039/312] Update description.md
---
.../Get all time zones from a site/description.md | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/Site Management/Get all time zones from a site/description.md b/Site Management/Get all time zones from a site/description.md
index e069c3d6..4c45c48b 100644
--- a/Site Management/Get all time zones from a site/description.md
+++ b/Site Management/Get all time zones from a site/description.md
@@ -1,10 +1,5 @@
Short script to retrieve all time zones from a single site in Sharepoint Online.
It does not change any settings, it just lists out possible options.
-
-
-
-
-
The script requires the following libraries. Please make sure the paths refer correct files on you machine:
@@ -23,6 +18,6 @@ $url="https://tenant-my.sharepoint.com/personal/user_tenant_onmicrosoft_com"
```
-Expected results:
+## *Expected results:*
39 (UTC-12:00) International Date Line West95 (UTC-11:00) Coordinated Universal Time-1115 (UTC-10:00) Hawaii14 (UTC-09:00) Alaska78 (UTC-08:00) Baja California13 (UTC-08:00) Pacific Time (US and Canada)38 (UTC-07:00) Arizona77 (UTC-07:00) Chihuahua, La Paz, Mazatlan12 (UTC-07:00) Mountain Time (US and Canada)55 (UTC-06:00) Central America11 (UTC-06:00) Central Time (US and Canada)37 (UTC-06:00) Guadalajara, Mexico City, Monterrey36 (UTC-06:00) Saskatchewan35 (UTC-05:00) Bogota, Lima, Quito10 (UTC-05:00) Eastern Time (US and Canada)34 (UTC-05:00) Indiana (East)88 (UTC-04:30) Caracas91 (UTC-04:00) Asuncion9 (UTC-04:00) Atlantic Time (Canada)81 (UTC-04:00) Cuiaba33 (UTC-04:00) Georgetown, La Paz, Manaus, San Juan28 (UTC-03:30) Newfoundland8 (UTC-03:00) Brasilia85 (UTC-03:00) Buenos Aires32 (UTC-03:00) Cayenne, Fortaleza60 (UTC-03:00) Greenland90 (UTC-03:00) Montevideo103 (UTC-03:00) Salvador65 (UTC-03:00) Santiago96 (UTC-02:00) Coordinated Universal Time-0230 (UTC-02:00) Mid-Atlantic29 (UTC-01:00) Azores53 (UTC-01:00) Cabo Verde86 (UTC) Casablanca93 (UTC) Coordinated Universal Time2 (UTC) Dublin, Edinburgh, Lisbon, London31 (UTC) Monrovia, Reykjavik4 (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna6 (UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague3 (UTC+01:00) Brussels, Copenhagen, Madrid, Paris57 (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb69 (UTC+01:00) West Central Africa83 (UTC+01:00) Windhoek79 (UTC+02:00) Amman5 (UTC+02:00) Athens, Bucharest, Istanbul80 (UTC+02:00) Beirut49 (UTC+02:00) Cairo98 (UTC+02:00) Damascus50 (UTC+02:00) Harare, Pretoria59 (UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius101 (UTC+02:00) Istanbul27 (UTC+02:00) Jerusalem7 (UTC+02:00) Minsk (old)104 (UTC+02:00) E. Europe100 (UTC+02:00) Kaliningrad (RTZ 1)26 (UTC+03:00) Baghdad74 (UTC+03:00) Kuwait, Riyadh109 (UTC+03:00) Minsk51 (UTC+03:00) Moscow, St. Petersburg, Volgograd (RTZ 2)56 (UTC+03:00) Nairobi25 (UTC+03:30) Tehran24 (UTC+04:00) Abu Dhabi, Muscat54 (UTC+04:00) Baku106 (UTC+04:00) Izhevsk, Samara (RTZ 3)89 (UTC+04:00) Port Louis82 (UTC+04:00) Tbilisi84 (UTC+04:00) Yerevan48 (UTC+04:30) Kabul58 (UTC+05:00) Ekaterinburg (RTZ 4)87 (UTC+05:00) Islamabad, Karachi47 (UTC+05:00) Tashkent23 (UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi66 (UTC+05:30) Sri Jayawardenepura62 (UTC+05:45) Kathmandu71 (UTC+06:00) Astana102 (UTC+06:00) Dhaka46 (UTC+06:00) Novosibirsk (RTZ 5)61 (UTC+06:30) Yangon (Rangoon)22 (UTC+07:00) Bangkok, Hanoi, Jakarta64 (UTC+07:00) Krasnoyarsk (RTZ 6)45 (UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi63 (UTC+08:00) Irkutsk (RTZ 7)21 (UTC+08:00) Kuala Lumpur, Singapore73 (UTC+08:00) Perth75 (UTC+08:00) Taipei94 (UTC+08:00) Ulaanbaatar20 (UTC+09:00) Osaka, Sapporo, Tokyo72 (UTC+09:00) Seoul70 (UTC+09:00) Yakutsk (RTZ 8)19 (UTC+09:30) Adelaide44 (UTC+09:30) Darwin18 (UTC+10:00) Brisbane76 (UTC+10:00) Canberra, Melbourne, Sydney43 (UTC+10:00) Guam, Port Moresby42 (UTC+10:00) Hobart99 (UTC+10:00) Magadan68 (UTC+10:00) Vladivostok, Magadan (RTZ 9)107 (UTC+11:00) Chokurdakh (RTZ 10)41 (UTC+11:00) Solomon Is., New Caledonia108 (UTC+12:00) Anadyr, Petropavlovsk-Kamchatsky (RTZ 11)17 (UTC+12:00) Auckland, Wellington97 (UTC+12:00) Coordinated Universal Time+1240 (UTC+12:00) Fiji92 (UTC+12:00) Petropavlovsk-Kamchatsky - Old67 (UTC+13:00) Nuku'alofa16 (UTC+13:00) Samoa
From 9a8259dfae1a3e9e3fd1d5697ec3a9aed1487dc3 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:23:31 +0100
Subject: [PATCH 040/312] Update GetAllTimeZones.ps1
---
.../GetAllTimeZones.ps1 | 42 +++++++------------
1 file changed, 16 insertions(+), 26 deletions(-)
diff --git a/Site Management/Get all time zones from a site/GetAllTimeZones.ps1 b/Site Management/Get all time zones from a site/GetAllTimeZones.ps1
index f2b3790e..cd90f321 100644
--- a/Site Management/Get all time zones from a site/GetAllTimeZones.ps1
+++ b/Site Management/Get all time zones from a site/GetAllTimeZones.ps1
@@ -1,38 +1,28 @@
-function Get-SPOUSerTimeZones
-{
-
- param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-SPOUSerTimeZones{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
- )
-
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
-
- $ctx.Load($ctx.Web)
- $ctx.Load($ctx.Web.RegionalSettings.TimeZone)
- $ctx.Load($ctx.Web.RegionalSettings.TimeZones)
- $ctx.ExecuteQuery()
-
- foreach($timezone in $ctx.Web.RegionalSettings.TimeZones)
- {
- Write-Host $timezone.ID $timezone.Description
- }
+ )
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Web.RegionalSettings.TimeZone)
+ $ctx.Load($ctx.Web.RegionalSettings.TimeZones)
+ $ctx.ExecuteQuery()
-
- }
-
-
-
+ foreach($timezone in $ctx.Web.RegionalSettings.TimeZones){
+ Write-Host $timezone.ID $timezone.Description
+ }
+}
# Paths to SDK. Please verify location on your computer.
#Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
From 96e5eb96f6744ba6d05a370cbc81054e6cf41ef4 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:26:34 +0100
Subject: [PATCH 041/312] Update description.md
---
.../description.md | 76 ++++++-------------
1 file changed, 22 insertions(+), 54 deletions(-)
diff --git a/Site Management/Get-SPOWeb to retrieve subsites and their properties/description.md b/Site Management/Get-SPOWeb to retrieve subsites and their properties/description.md
index 8bd88fb8..77d8bbaf 100644
--- a/Site Management/Get-SPOWeb to retrieve subsites and their properties/description.md
+++ b/Site Management/Get-SPOWeb to retrieve subsites and their properties/description.md
@@ -1,98 +1,66 @@
-The cmdlet Get-SPOWeb retrieves subsites and their properties
+The cmdlet **Get-SPOWeb** retrieves subsites and their properties
-
-
-Parameters
+## Parameters
The cmdlet is using the following parameters:
- [string]$Username
+- [string]$Username
+
The string specifies admin of the site
-[string]$Url
+- [string]$Url
+
Specifies the url of the parent site
-[string]$AdminPassword,
+- [string]$AdminPassword,
+
Admin's password
-[bool]$IncludeSubsites=$false
-Specifies whether the sub-subsites and subs-subsubsites should be included as well. By default set to $false.
+- [bool]$IncludeSubsites=$false
-
+Specifies whether the sub-subsites and subs-subsubsites should be included as well. By default set to $false.
-Examples
+## Examples
-
+- Get the subsites and their properties
-Get the subsites and their properties
Get-SPOWeb -Username trial@trialtrial123.onmicrosoft.com -AdminPassword Pass -Url https://trialtrial123.sharepoint.com
+
+- Get the subsites and the sub-subsites
-
-
-
-
-
-
-
-
-Get the subsites and the sub-subsites
Get-SPOWeb -Username trial@trialtrial123.onmicrosoft.com -AdminPassword Pass -Url https://trialtrial123.sharepoint.com -IncludeSubsites $true | select url
-
+
+- Get properties of a site in the site collection
-
-
-
-
-
-Get properties of a site in the site collection
Get-SPOWeb -Username trial@trialtrial123.onmicrosoft.com -AdminPassword Pass -Url https://trialtrial123.sharepoint.com -IncludeSubsites $true | where {$_.Title -eq "SomeTitle"}
-
-
-
+
-
-
-
+- Get all sites in a site collecton based on some criteria
-
-
-Get all sites in a site collecton based on some criteria
Get-SPOWeb -Username trial@trialtrial123.onmicrosoft.com -AdminPassword Pass -Url https://trialtrial123.sharepoint.com -IncludeSubsites $true | where {$_.Language -eq 1033} | select url
-
-
-
-
-
-
-
-
-
-
-
+
Requirements
-
-
The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-
+ ```
-Let me know about your experience in the Q&A section!
+### Let me know about your experience in the Q&A section!
From a9d31f3af39dd8ee4f957fed7d833f8b792f8ec7 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:27:43 +0100
Subject: [PATCH 042/312] Update GetSPOWebModule.psm1
---
.../GetSPOWebModule.psm1 | 104 ++++++++----------
1 file changed, 45 insertions(+), 59 deletions(-)
diff --git a/Site Management/Get-SPOWeb to retrieve subsites and their properties/GetSPOWebModule.psm1 b/Site Management/Get-SPOWeb to retrieve subsites and their properties/GetSPOWebModule.psm1
index 4343f853..d3a58b79 100644
--- a/Site Management/Get-SPOWeb to retrieve subsites and their properties/GetSPOWebModule.psm1
+++ b/Site Management/Get-SPOWeb to retrieve subsites and their properties/GetSPOWebModule.psm1
@@ -1,71 +1,57 @@
-function Get-SPOWeb
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-SPOWeb{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$AdminPassword,
- [Parameter(Mandatory=$false,Position=4)]
+ [Parameter(Mandatory=$false,Position=4)]
[bool]$IncludeSubsites=$false
- )
-
-$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $ctx.Load($ctx.Web)
- $ctx.Load($ctx.Web.Webs)
- $ctx.ExecuteQuery()
-
- for($i=0;$i -lt $ctx.Web.Webs.Count ;$i++)
- {
- $obj = new-Object PSOBject
- $obj | Add-Member NoteProperty AllowRSSFeeds($ctx.Web.Webs[$i].AllowRssFeeds)
- $obj | Add-Member NoteProperty Created($ctx.Web.Webs[$i].Created)
- $obj | Add-Member NoteProperty CustomMasterUrl($ctx.Web.Webs[$i].CustomMasterUrl)
- $obj | Add-Member NoteProperty Description($ctx.Web.Webs[$i].Description)
- $obj | Add-Member NoteProperty EnableMinimalDownload($ctx.Web.Webs[$i].EnableMinimalDownload)
- $obj | Add-Member NoteProperty ID($ctx.Web.Webs[$i].Id)
- $obj | Add-Member NoteProperty Language($ctx.Web.Webs[$i].Language)
- $obj | Add-Member NoteProperty LastItemModifiedDate($ctx.Web.Webs[$i].LastItemModifiedDate)
- $obj | Add-Member NoteProperty MasterUrl($ctx.Web.Webs[$i].MasterUrl)
- $obj | Add-Member NoteProperty QuickLaunchEnabled($ctx.Web.Webs[$i].QuickLaunchEnabled)
- $obj | Add-Member NoteProperty RecycleBinEnabled($ctx.Web.Webs[$i].RecycleBinEnabled)
- $obj | Add-Member NoteProperty ServerRelativeUrl($ctx.Web.Webs[$i].ServerRelativeUrl)
- $obj | Add-Member NoteProperty Title($ctx.Web.Webs[$i].Title)
- $obj | Add-Member NoteProperty TreeViewEnabled($ctx.Web.Webs[$i].TreeViewEnabled)
- $obj | Add-Member NoteProperty UIVersion($ctx.Web.Webs[$i].UIVersion)
- $obj | Add-Member NoteProperty UIVersionConfigurationEnabled($ctx.Web.Webs[$i].UIVersionConfigurationEnabled)
- $obj | Add-Member NoteProperty Url($ctx.Web.Webs[$i].Url)
- $obj | Add-Member NoteProperty WebTemplate($ctx.Web.Webs[$i].WebTemplate)
-
- Write-Output $obj
- }
-
-
-
-if($ctx.Web.Webs.Count -gt 0 -and $IncludeSubsites)
- {
- Write-Host "--"-ForegroundColor DarkGreen
- for($i=0;$i -lt $ctx.Web.Webs.Count ;$i++)
- {
- Get-SPOWeb -Username $Username -Url $ctx.Web.Webs[$i].Url -AdminPassword $AdminPassword -IncludeSubsites $IncludeSubsites
- }
- }
-
-
-
-
-
+ )
+
+ $password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
+
+ for($i=0;$i -lt $ctx.Web.Webs.Count ;$i++){
+ $obj = new-Object PSOBject
+ $obj | Add-Member NoteProperty AllowRSSFeeds($ctx.Web.Webs[$i].AllowRssFeeds)
+ $obj | Add-Member NoteProperty Created($ctx.Web.Webs[$i].Created)
+ $obj | Add-Member NoteProperty CustomMasterUrl($ctx.Web.Webs[$i].CustomMasterUrl)
+ $obj | Add-Member NoteProperty Description($ctx.Web.Webs[$i].Description)
+ $obj | Add-Member NoteProperty EnableMinimalDownload($ctx.Web.Webs[$i].EnableMinimalDownload)
+ $obj | Add-Member NoteProperty ID($ctx.Web.Webs[$i].Id)
+ $obj | Add-Member NoteProperty Language($ctx.Web.Webs[$i].Language)
+ $obj | Add-Member NoteProperty LastItemModifiedDate($ctx.Web.Webs[$i].LastItemModifiedDate)
+ $obj | Add-Member NoteProperty MasterUrl($ctx.Web.Webs[$i].MasterUrl)
+ $obj | Add-Member NoteProperty QuickLaunchEnabled($ctx.Web.Webs[$i].QuickLaunchEnabled)
+ $obj | Add-Member NoteProperty RecycleBinEnabled($ctx.Web.Webs[$i].RecycleBinEnabled)
+ $obj | Add-Member NoteProperty ServerRelativeUrl($ctx.Web.Webs[$i].ServerRelativeUrl)
+ $obj | Add-Member NoteProperty Title($ctx.Web.Webs[$i].Title)
+ $obj | Add-Member NoteProperty TreeViewEnabled($ctx.Web.Webs[$i].TreeViewEnabled)
+ $obj | Add-Member NoteProperty UIVersion($ctx.Web.Webs[$i].UIVersion)
+ $obj | Add-Member NoteProperty UIVersionConfigurationEnabled($ctx.Web.Webs[$i].UIVersionConfigurationEnabled)
+ $obj | Add-Member NoteProperty Url($ctx.Web.Webs[$i].Url)
+ $obj | Add-Member NoteProperty WebTemplate($ctx.Web.Webs[$i].WebTemplate)
+
+ Write-Output $obj
+ }
+
+ if($ctx.Web.Webs.Count -gt 0 -and $IncludeSubsites){
+ Write-Host "--"-ForegroundColor DarkGreen
+
+ for($i=0;$i -lt $ctx.Web.Webs.Count ;$i++){
+ Get-SPOWeb -Username $Username -Url $ctx.Web.Webs[$i].Url -AdminPassword $AdminPassword -IncludeSubsites $IncludeSubsites
+ }
+ }
}
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-
-
-
-
Export-ModuleMember -Function "Get-SPOWeb"
From 064a92fc3f87eb09f573085a00929530c6875804 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:31:24 +0100
Subject: [PATCH 043/312] Update description.md
---
.../description.md | 105 ++++++------------
1 file changed, 32 insertions(+), 73 deletions(-)
diff --git a/Site Management/Modify Web Inherited Permissions/description.md b/Site Management/Modify Web Inherited Permissions/description.md
index 5627de15..ca66c30c 100644
--- a/Site Management/Modify Web Inherited Permissions/description.md
+++ b/Site Management/Modify Web Inherited Permissions/description.md
@@ -1,122 +1,81 @@
Powershell Module with 2 new cmdlets:
-
-
Remove-SPOWebInheritance
Restore-SPOWebInheritance
-
-
-
-
-Restore-SPOWebInheritance
-
-
-
-
-Parameters
+## Restore-SPOWebInheritance
+---
+### Parameters
The cmdlet is using the following parameters:
- [string]$Username
-The string specifies admin of the site
-
-[string]$ParentUrl
-Specifies the url of the parent site
-
-[string]$AdminPassword,
-
+- [string]$Username
-
-
-
+The string specifies admin of the site
-
+- [string]$ParentUrl
-Remove-SPOWebInheritance
+Specifies the url of the parent site
+- [string]$AdminPassword,
-Parameters
+## Remove-SPOWebInheritance
+---
+##Parameters
The cmdlet is using the following parameters:
- [string]$Username
+- [string]$Username
+
The string specifies admin of the site
-[string]$ParentUrl
-Specifies the url of the parent site
+- [string]$ParentUrl
-[string]$AdminPassword,
-Admin's password
+Specifies the url of the parent site
-[bool]$CopyRoleAssignments=$true
-Whether the site should keep its current permissions
+- [string]$AdminPassword,
- [bool]$clearSubscopes=$false
-
+Admin's password
-
+- [bool]$CopyRoleAssignments=$true
-Examples
+Whether the site should keep its current permissions
+- [bool]$clearSubscopes=$false
+---
+## Examples
-Restore-SPOWebInheritance -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/psweb2/psweb2 -AdminPassword Pass
+**Restore-SPOWebInheritance -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/psweb2/psweb2 -AdminPassword Pass**
Site https://trialtrial123.sharepoint.com/psweb2/psweb2 inherits permissions from its parent.
-
-
-Remove-SPOWebInheritance -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/psweb2/psweb2 -AdminPassword Pass -CopyRoleAssignments $true
-
+**Remove-SPOWebInheritance -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/psweb2/psweb2 -AdminPassword Pass -CopyRoleAssignments $true**
-
-
-
-
+
That gives us:
-
-
-
-
-
-
-
-
-
-
-
+
But if we set the CopyRoleAssignments to $false:
-Remove-SPOWebInheritance -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/psweb2/psweb2 -AdminPassword Pass -CopyRoleAssignments $false
-
-
-
+**Remove-SPOWebInheritance -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/psweb2/psweb2 -AdminPassword Pass -CopyRoleAssignments $false**
+
-
-
-Requirements
-
-
+### *Requirements*
The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
-
-
-
-
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-
-Let me know about your experience in the Q&A section!
+ ```
+### Let me know about your experience in the Q&A section!
From 8f8078fe28d920989adea8b0d7edc83ee84c73b5 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:32:11 +0100
Subject: [PATCH 044/312] Update description.md
---
.../Modify Web Inherited Permissions/description.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Site Management/Modify Web Inherited Permissions/description.md b/Site Management/Modify Web Inherited Permissions/description.md
index ca66c30c..acd4659e 100644
--- a/Site Management/Modify Web Inherited Permissions/description.md
+++ b/Site Management/Modify Web Inherited Permissions/description.md
@@ -4,9 +4,9 @@ Remove-SPOWebInheritance
Restore-SPOWebInheritance
-
-## Restore-SPOWebInheritance
---
+## Restore-SPOWebInheritance
+
### Parameters
The cmdlet is using the following parameters:
@@ -21,9 +21,9 @@ Specifies the url of the parent site
- [string]$AdminPassword,
-
-## Remove-SPOWebInheritance
---
+## Remove-SPOWebInheritance
+
##Parameters
The cmdlet is using the following parameters:
From 0b34d6ed2ba310fddf8e9f5f2440d284019d6dec Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:33:20 +0100
Subject: [PATCH 045/312] Update SPOWebInheritance.psm1
---
.../SPOWebInheritance.psm1 | 100 ++++++++----------
1 file changed, 43 insertions(+), 57 deletions(-)
diff --git a/Site Management/Modify Web Inherited Permissions/SPOWebInheritance.psm1 b/Site Management/Modify Web Inherited Permissions/SPOWebInheritance.psm1
index ce2fa9f4..d546a3b6 100644
--- a/Site Management/Modify Web Inherited Permissions/SPOWebInheritance.psm1
+++ b/Site Management/Modify Web Inherited Permissions/SPOWebInheritance.psm1
@@ -1,76 +1,62 @@
-function Remove-SPOWebInheritance
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Remove-SPOWebInheritance{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$AdminPassword,
- [Parameter(Mandatory=$false,Position=4)]
+ [Parameter(Mandatory=$false,Position=4)]
[bool]$CopyRoleAssignments=$true,
- [Parameter(Mandatory=$false,Position=5)]
+ [Parameter(Mandatory=$false,Position=5)]
[bool]$clearSubscopes=$false
- )
-
-$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $ctx.Load($ctx.Web)
- $ctx.ExecuteQuery()
-
- try
- {
- $ctx.Web.BreakRoleInheritance($CopyRoleAssignments,$clearSubscopes)
- $ctx.ExecuteQuery()
- Write-Host "Site " $ctx.Web.Url " has unique permissions."
- }
- catch [Net.WebException]
- {
- Write-Host $_.Exception.ToString()
- }
-
-
+ )
+
+ $password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $ctx.Load($ctx.Web)
+ $ctx.ExecuteQuery()
+
+ try{
+ $ctx.Web.BreakRoleInheritance($CopyRoleAssignments,$clearSubscopes)
+ $ctx.ExecuteQuery()
+ Write-Host "Site " $ctx.Web.Url " has unique permissions."
+ }
+ catch [Net.WebException]{
+ Write-Host $_.Exception.ToString()
+ }
}
-function Restore-SPOWebInheritance
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Restore-SPOWebInheritance{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$AdminPassword
- )
-
-$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $ctx.Load($ctx.Web)
- $ctx.ExecuteQuery()
-
- try
- {
- $ctx.Web.ResetRoleInheritance()
- $ctx.ExecuteQuery()
- Write-Host "Site " $ctx.Web.Url " inherits permissions from its parent."
- }
- catch [Net.WebException]
- {
- Write-Host $_.Exception.ToString()
- }
-
-
+ )
+
+ $password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $ctx.Load($ctx.Web)
+ $ctx.ExecuteQuery()
+
+ try{
+ $ctx.Web.ResetRoleInheritance()
+ $ctx.ExecuteQuery()
+ Write-Host "Site " $ctx.Web.Url " inherits permissions from its parent."
+ }
+ catch [Net.WebException]{
+ Write-Host $_.Exception.ToString()
+ }
}
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-
-
-
-
- Export-ModuleMember -Function "Restore-SPOWebInheritance", "Remove-SPOWebInheritance"
\ No newline at end of file
+ Export-ModuleMember -Function "Restore-SPOWebInheritance", "Remove-SPOWebInheritance"
From 4f10453523789f09dadb6de59e3c4816292f779c Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:35:47 +0100
Subject: [PATCH 046/312] Update description.md
---
.../description.md | 57 ++++++++-----------
1 file changed, 24 insertions(+), 33 deletions(-)
diff --git a/Site Management/Powershell cmdlet Set-SpoWeb to manage site properties/description.md b/Site Management/Powershell cmdlet Set-SpoWeb to manage site properties/description.md
index 16668dbd..68abda5d 100644
--- a/Site Management/Powershell cmdlet Set-SpoWeb to manage site properties/description.md
+++ b/Site Management/Powershell cmdlet Set-SpoWeb to manage site properties/description.md
@@ -1,78 +1,69 @@
SharePoint Online cmdlet
-
-
-Set-SPOWeb
-
-
+---
+## Set-SPOWeb
Parameters
The cmdlet is using the following parameters:
- [string]$Username
+- [string]$Username
+
The string specifies admin of the site
-[string]$Url
+- [string]$Url
+
Specifies the url of the parent site
-[string]$AdminPassword,
+- [string]$AdminPassword,
+
Admin's password
-[string]$Description=""
+- [string]$Description=""
+
Optional.
-[string]$EnableMinimalDownload=""
+- [string]$EnableMinimalDownload=""
+
Optional.
-[string]$QuickLaunchEnabled=""
+- [string]$QuickLaunchEnabled=""
+
Optional
-[string]$Title=""
-Optional.
+- [string]$Title=""
-[string]$TreeViewEnabled=""
Optional.
-
+- [string]$TreeViewEnabled=""
-
+Optional.
Examples
-
+- Set the site description and title
-Set the site description and title
Set-SPOWeb -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/psweb2/psweb2 -AdminPassword Pass -Description "none" -Title "Sososos23"Description set to noneTitle set to Sososos23PS
-Enable tree view for the site
-Set-SPOWeb -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/psweb2/psweb2 -AdminPassword Pass -TreeViewEnabled $true
+- Enable tree view for the site
-
+Set-SPOWeb -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/psweb2/psweb2 -AdminPassword Pass -TreeViewEnabled $true
+
Requirements
-
-
The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-
-
-
-
-
-
-
-
+```
-Let me know about your experience in the Q&A section!
+### Let me know about your experience in the Q&A section!
From dd4d97a6aaf3a95280be394a974fd2d943850bcb Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:37:05 +0100
Subject: [PATCH 047/312] Update Set-SPOWeb.psm1
---
.../Set-SPOWeb.psm1 | 129 ++++++++----------
1 file changed, 55 insertions(+), 74 deletions(-)
diff --git a/Site Management/Powershell cmdlet Set-SpoWeb to manage site properties/Set-SPOWeb.psm1 b/Site Management/Powershell cmdlet Set-SpoWeb to manage site properties/Set-SPOWeb.psm1
index d54287a9..3c49d926 100644
--- a/Site Management/Powershell cmdlet Set-SpoWeb to manage site properties/Set-SPOWeb.psm1
+++ b/Site Management/Powershell cmdlet Set-SpoWeb to manage site properties/Set-SPOWeb.psm1
@@ -1,89 +1,70 @@
-function Set-SPOWeb
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Set-SPOWeb{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$AdminPassword,
- [Parameter(Mandatory=$false,Position=4)]
+ [Parameter(Mandatory=$false,Position=4)]
[string]$Description="",
-[ValidateSet("True","False","", 0, 1)]
-[Parameter(Mandatory=$false,Position=5)]
+ [ValidateSet("True","False","", 0, 1)]
+ [Parameter(Mandatory=$false,Position=5)]
[string]$EnableMinimalDownload="",
-[ValidateSet("True","False","", 0, 1)]
-[Parameter(Mandatory=$false,Position=6)]
+ [ValidateSet("True","False","", 0, 1)]
+ [Parameter(Mandatory=$false,Position=6)]
[string]$QuickLaunchEnabled="",
-[Parameter(Mandatory=$false,Position=7)]
+ [Parameter(Mandatory=$false,Position=7)]
[string]$Title="",
-[ValidateSet("True","False","", 0, 1)]
-[Parameter(Mandatory=$false,Position=8)]
+ [ValidateSet("True","False","", 0, 1)]
+ [Parameter(Mandatory=$false,Position=8)]
[string]$TreeViewEnabled=""
- )
-
-$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $ctx.Load($ctx.Web)
- $ctx.ExecuteQuery()
-
-
-
- if($Description -ne "")
- {
- $ctx.Web.Description = $Description
- $ctx.Web.Update()
- $ctx.ExecuteQuery()
- Write-Host "Description set to " $Description -ForegroundColor Green
- }
-
-
- if($EnableMinimalDownload -ne "")
- {
- $ctx.Web.EnableMinimalDownload = $EnableMinimalDownload
- $ctx.Web.Update()
- $ctx.ExecuteQuery()
- Write-Host "Minimal Download set to " $EnableMinimalDownload -ForegroundColor Green
- }
-
- if($QuickLaunchEnabled -ne "")
- {
-
- $ctx.Web.QuickLaunchEnabled = $QuickLaunchEnabled
- $ctx.Web.Update()
- $ctx.ExecuteQuery()
- Write-Host "Quick launch set to " $QuickLaunchEnabled -ForegroundColor Green
- }
-
-
-
-
- if($Title -ne "")
- {
- $ctx.Web.Title = $Title
- $ctx.Web.Update()
- $ctx.ExecuteQuery()
- Write-Host "Title set to " $Title -ForegroundColor Green
- }
-
- if($TreeViewEnabled -ne "")
- {
- $ctx.Web.TreeViewEnabled = $TreeViewEnabled
- $ctx.Web.Update()
- $ctx.ExecuteQuery()
- Write-Host "Treeview set to " $TreeViewEnabled -ForegroundColor Green
- }
-
-
+ )
+
+ $password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $ctx.Load($ctx.Web)
+ $ctx.ExecuteQuery()
+
+ if($Description -ne ""){
+ $ctx.Web.Description = $Description
+ $ctx.Web.Update()
+ $ctx.ExecuteQuery()
+ Write-Host "Description set to " $Description -ForegroundColor Green
+ }
+
+
+ if($EnableMinimalDownload -ne ""){
+ $ctx.Web.EnableMinimalDownload = $EnableMinimalDownload
+ $ctx.Web.Update()
+ $ctx.ExecuteQuery()
+ Write-Host "Minimal Download set to " $EnableMinimalDownload -ForegroundColor Green
+ }
+
+ if($QuickLaunchEnabled -ne ""){
+ $ctx.Web.QuickLaunchEnabled = $QuickLaunchEnabled
+ $ctx.Web.Update()
+ $ctx.ExecuteQuery()
+ Write-Host "Quick launch set to " $QuickLaunchEnabled -ForegroundColor Green
+ }
+
+ if($Title -ne ""){
+ $ctx.Web.Title = $Title
+ $ctx.Web.Update()
+ $ctx.ExecuteQuery()
+ Write-Host "Title set to " $Title -ForegroundColor Green
+ }
+
+ if($TreeViewEnabled -ne ""){
+ $ctx.Web.TreeViewEnabled = $TreeViewEnabled
+ $ctx.Web.Update()
+ $ctx.ExecuteQuery()
+ Write-Host "Treeview set to " $TreeViewEnabled -ForegroundColor Green
+ }
}
-
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-
-
-
-
Export-ModuleMember -Function "Set-SPOWeb"
From 51222dd2f8a018ba3ca0c94ac062fc57c8d12c27 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:41:21 +0100
Subject: [PATCH 048/312] Update description.md
---
.../description.md | 36 +++----------------
1 file changed, 4 insertions(+), 32 deletions(-)
diff --git a/Site Management/Recycle Bin/Detailed report on all recycle bin items across all site collections/description.md b/Site Management/Recycle Bin/Detailed report on all recycle bin items across all site collections/description.md
index b95849cf..39912046 100644
--- a/Site Management/Recycle Bin/Detailed report on all recycle bin items across all site collections/description.md
+++ b/Site Management/Recycle Bin/Detailed report on all recycle bin items across all site collections/description.md
@@ -1,57 +1,29 @@
The script loops through all site collections, their subsites and retrieves all items from the recycle bin. The items can be seen in the console window or you can create an Excel report
*doesn't apply to group site collections or personal sites
-
-
-The script is basically an extension of a more basic Retrieve all reycle bin items across all site collections script.
+The script is basically an extension of a more basic [Retrieve all reycle bin items across all site collections](https://gallery.technet.microsoft.com/Retrieve-all-reycle-bin-66bcab5c) script.
The script loops through all site collections, their subsites and retrieves all items from the recycle bin and restores them.
The items can be seen in the console window
-
-
-
-
-
-
-
-
-
+
or you can create an Excel report using | Export-csv
-c:\users\MyUser\Desktop\whereismyfilewithdetails.ps1 | export-csv c:\users\ivo\desktop\whereismyfilewithdetails2.csv
-
-
-
-
-
-
-
-
-
-
+```c:\users\MyUser\Desktop\whereismyfilewithdetails.ps1 | export-csv c:\users\ivo\desktop\whereismyfilewithdetails2.csv```
+
-
The script requires SharePoint Online Management Shell and SharePoint Online SDK:
http://technet.microsoft.com/en-us/library/fp161372(v=office.15).aspx
http://www.microsoft.com/en-us/download/details.aspx?id=30722
-
-
-
-
Before running the script enter correct paths to the SDK and your tenant data:
-
-
-
-
```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
From 65788de33976d6f9fd9d9169e36f44b066b5a93b Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:43:24 +0100
Subject: [PATCH 049/312] Update description.md
---
.../description.md | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/Site Management/Recycle Bin/Move items from first to second stage recycle bin/description.md b/Site Management/Recycle Bin/Move items from first to second stage recycle bin/description.md
index 31b5e4f3..75587eec 100644
--- a/Site Management/Recycle Bin/Move items from first to second stage recycle bin/description.md
+++ b/Site Management/Recycle Bin/Move items from first to second stage recycle bin/description.md
@@ -1,27 +1,13 @@
Powershell script which moves all items from a site's recycle bin to a second stage recycle bin:
-
-
-
+
After the move the items can still be restored using 'Restore Selection' button.
-
-
-
-
-
-
-
-
The script requires SharePoint Online SDK installed:
https://www.microsoft.com/en-us/download/details.aspx?id=42038
-
-
-
-
Before running the script, open the file and enter correct paths to the SDK and your tenant data:
From 65351da4bc9f2d65f4e8b80efa76ece7c410d339 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:44:08 +0100
Subject: [PATCH 050/312] Update MovingtoSecondStage.ps1
---
.../MovingtoSecondStage.ps1 | 54 +++++++++----------
1 file changed, 26 insertions(+), 28 deletions(-)
diff --git a/Site Management/Recycle Bin/Move items from first to second stage recycle bin/MovingtoSecondStage.ps1 b/Site Management/Recycle Bin/Move items from first to second stage recycle bin/MovingtoSecondStage.ps1
index 3eb7fa9a..c631b7a7 100644
--- a/Site Management/Recycle Bin/Move items from first to second stage recycle bin/MovingtoSecondStage.ps1
+++ b/Site Management/Recycle Bin/Move items from first to second stage recycle bin/MovingtoSecondStage.ps1
@@ -1,38 +1,36 @@
# The following script moves all items from a site collection and the specified subsite into second-stage recycle bin.
-function Move-ToSecondStage
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Move-ToSecondStage{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
-
- $ctx.Load($ctx.Web)
-# $ctx.Load($ctx.Site)
- $rb=$ctx.Web.RecycleBin
-# $siteRB=$ctx.Site.RecycleBin
-$ctx.Load($rb)
-#$ctx.load($siteRB)
-$ctx.ExecuteQuery()
-Write-Host $ctx.Web.Url " has " $rb.Count.ToString() " items in the recycle bin"
-#Write-Host $ctx.Site.Url " has " $SiteRB.Count.ToString() " items in the recycle bin"
-
-Write-Host "Moving items to the second stage recycle bin..."
-#$siteRB.MoveAllToSecondStage()
-$rb.MoveAllToSecondStage()
-
-$ctx.ExecuteQuery()
-
-
+ )
+
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+
+ $ctx.Load($ctx.Web)
+ # $ctx.Load($ctx.Site)
+ $rb=$ctx.Web.RecycleBin
+ # $siteRB=$ctx.Site.RecycleBin
+ $ctx.Load($rb)
+ #$ctx.load($siteRB)
+ $ctx.ExecuteQuery()
+ Write-Host $ctx.Web.Url " has " $rb.Count.ToString() " items in the recycle bin"
+ #Write-Host $ctx.Site.Url " has " $SiteRB.Count.ToString() " items in the recycle bin"
+
+ Write-Host "Moving items to the second stage recycle bin..."
+ #$siteRB.MoveAllToSecondStage()
+ $rb.MoveAllToSecondStage()
+
+ $ctx.ExecuteQuery()
}
From bf476f96c290231a7b0b136554d06920262be20d Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:45:39 +0100
Subject: [PATCH 051/312] Update RemovingSecondStage.ps1
---
.../RemovingSecondStage.ps1 | 50 +++++++++----------
1 file changed, 24 insertions(+), 26 deletions(-)
diff --git a/Site Management/Recycle Bin/Remove all items from second stage recycle bin (involves data loss)/RemovingSecondStage.ps1 b/Site Management/Recycle Bin/Remove all items from second stage recycle bin (involves data loss)/RemovingSecondStage.ps1
index 217f1b07..80fdecfe 100644
--- a/Site Management/Recycle Bin/Remove all items from second stage recycle bin (involves data loss)/RemovingSecondStage.ps1
+++ b/Site Management/Recycle Bin/Remove all items from second stage recycle bin (involves data loss)/RemovingSecondStage.ps1
@@ -1,36 +1,34 @@
# The following script permanently removes all items from a site collection second-stage recycle bin.
# The items cannot be retrieved afterwards with Powershell, User Interface, or any programmatic way.
-function Remove-DeletedItems
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Remove-DeletedItems{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
-
- $ctx.Load($ctx.Web)
- $ctx.Load($ctx.Site)
- $rb=$ctx.Web.RecycleBin
- $siteRB=$ctx.Site.RecycleBin
-$ctx.Load($rb)
-$ctx.load($siteRB)
-$ctx.ExecuteQuery()
-Write-Host $ctx.Web.Url " has " $rb.Count.ToString() " items in the recycle bin"
-Write-Host $ctx.Site.Url " has " $SiteRB.Count.ToString() " items in the recycle bin"
-
-Write-Host "Removing second stage items..."
-$siteRB.DeleteAllSecondStageItems()
-$ctx.ExecuteQuery()
-
-
+ )
+
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Site)
+ $rb=$ctx.Web.RecycleBin
+ $siteRB=$ctx.Site.RecycleBin
+ $ctx.Load($rb)
+ $ctx.load($siteRB)
+ $ctx.ExecuteQuery()
+ Write-Host $ctx.Web.Url " has " $rb.Count.ToString() " items in the recycle bin"
+ Write-Host $ctx.Site.Url " has " $SiteRB.Count.ToString() " items in the recycle bin"
+
+ Write-Host "Removing second stage items..."
+ $siteRB.DeleteAllSecondStageItems()
+ $ctx.ExecuteQuery()
}
From f44601df67fd8037d2384e712b9509084a29f690 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:46:39 +0100
Subject: [PATCH 052/312] Update description.md
---
.../description.md | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/Site Management/Recycle Bin/Remove permanently all items from recycle bins (data loss involved)/description.md b/Site Management/Recycle Bin/Remove permanently all items from recycle bins (data loss involved)/description.md
index 68f74faf..27b37316 100644
--- a/Site Management/Recycle Bin/Remove permanently all items from recycle bins (data loss involved)/description.md
+++ b/Site Management/Recycle Bin/Remove permanently all items from recycle bins (data loss involved)/description.md
@@ -1,12 +1,8 @@
The script removes permanently and irrevocably items from the specified site recycle bin and its corresponding site collection recycle bin.
The data cannot be retrieved afterwards. Test the script before using on production environment.
-
-
-
-
-PowerShell
+```PowerShell
$ctx.Load($ctx.Web)
$ctx.Load($ctx.Site)
$rb=$ctx.Web.RecycleBin
@@ -22,19 +18,12 @@ $siteRB.DeleteAll()
$siteRB.DeleteAllSecondStageItems()
$ctx.ExecuteQuery()
-
-
-
-
+ ```
The script requires SharePoint Online SDK installed:
https://www.microsoft.com/en-us/download/details.aspx?id=42038
-
-
-
-
Before running the script, open the file and enter correct paths to the SDK and your tenant data:
From 740dd19a5cf56079466a27e2da5e8710edfd019f Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:47:13 +0100
Subject: [PATCH 053/312] Update DeleteAll.ps1
---
.../DeleteAll.ps1 | 54 +++++++++----------
1 file changed, 26 insertions(+), 28 deletions(-)
diff --git a/Site Management/Recycle Bin/Remove permanently all items from recycle bins (data loss involved)/DeleteAll.ps1 b/Site Management/Recycle Bin/Remove permanently all items from recycle bins (data loss involved)/DeleteAll.ps1
index 158874cc..887c8a69 100644
--- a/Site Management/Recycle Bin/Remove permanently all items from recycle bins (data loss involved)/DeleteAll.ps1
+++ b/Site Management/Recycle Bin/Remove permanently all items from recycle bins (data loss involved)/DeleteAll.ps1
@@ -7,38 +7,36 @@ its corresponding site collection recycle bin. The data cannot be retrieved afte
Test the script before using on production environment.
#>
-function Remove-DeletedItems
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Remove-DeletedItems{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
-
- $ctx.Load($ctx.Web)
- $ctx.Load($ctx.Site)
- $rb=$ctx.Web.RecycleBin
- $siteRB=$ctx.Site.RecycleBin
-$ctx.Load($rb)
-$ctx.load($siteRB)
-$ctx.ExecuteQuery()
-Write-Host $ctx.Web.Url $rb.Count.ToString()
-Write-Host $ctx.Site.Url $SiteRB.Count.ToString()
-
-$rb.DeleteAll()
-$siteRB.DeleteAll()
-$siteRB.DeleteAllSecondStageItems()
-
-$ctx.ExecuteQuery()
-
-
+ )
+
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Site)
+ $rb=$ctx.Web.RecycleBin
+ $siteRB=$ctx.Site.RecycleBin
+ $ctx.Load($rb)
+ $ctx.load($siteRB)
+ $ctx.ExecuteQuery()
+ Write-Host $ctx.Web.Url $rb.Count.ToString()
+ Write-Host $ctx.Site.Url $SiteRB.Count.ToString()
+
+ $rb.DeleteAll()
+ $siteRB.DeleteAll()
+ $siteRB.DeleteAllSecondStageItems()
+
+ $ctx.ExecuteQuery()
}
From 49e0c8bf39b1085b99756f16fdc5a7044ebf1be7 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:53:40 +0100
Subject: [PATCH 054/312] Update description.md
---
.../description.md | 28 +++++--------------
1 file changed, 7 insertions(+), 21 deletions(-)
diff --git a/Site Management/Recycle Bin/Report on all deleted items across all site collections/description.md b/Site Management/Recycle Bin/Report on all deleted items across all site collections/description.md
index 6817e5bd..5ee9b259 100644
--- a/Site Management/Recycle Bin/Report on all deleted items across all site collections/description.md
+++ b/Site Management/Recycle Bin/Report on all deleted items across all site collections/description.md
@@ -1,40 +1,26 @@
The script loops through all site collections recycle bins and prints out the deleted items details or creates an Excel report on them
-* doesn't apply to group site collections or personal sites
+* doesn't apply to group site collections or personal sites
-
-
-The script is basically an extension of a more basic Retrieve all reycle bin items across all site collections script, but it does NOT restore the items.
+The script is basically an extension of a more basic [Retrieve all reycle bin items across all site collections](https://gallery.technet.microsoft.com/Retrieve-all-reycle-bin-66bcab5c) script, but it does NOT restore the items.
The script loops through all site collections, their subsites and retrieves all items from the recycle bin. The items can be seen in the console window
-
+
or you can create an Excel report using | Export-csv
c:\users\MyUser\Desktop\whereismyfilewithdetails3.ps1 | export-csv c:\users\ivo\desktop\whereismyfilewithdetails2.csv
-
-
+
-
-
-
-
-The script requires SharePoint Online Management Shell and SharePoint Online SDK
-
-
-
-
+The script requires [SharePoint Online Management Shell](https://docs.microsoft.com/en-us/powershell/sharepoint/sharepoint-online/connect-sharepoint-online?view=sharepoint-ps&redirectedfrom=MSDN) and [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038)
Before running the script enter correct paths to the SDK and your tenant data:
-
-
-
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
@@ -43,5 +29,5 @@ Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extens
$Username="user@tenant.onmicrosoft.com"
$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$AdminUrl="https://tenant-admin.sharepoint.com"
-
+ ```
From ebba3695f871d81b4aa3b0df745816182debc5f7 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:54:51 +0100
Subject: [PATCH 055/312] Update WhereIsMyFileWithDetails3.ps1
---
.../WhereIsMyFileWithDetails3.ps1 | 98 ++++++++-----------
1 file changed, 40 insertions(+), 58 deletions(-)
diff --git a/Site Management/Recycle Bin/Report on all deleted items across all site collections/WhereIsMyFileWithDetails3.ps1 b/Site Management/Recycle Bin/Report on all deleted items across all site collections/WhereIsMyFileWithDetails3.ps1
index bc4374f1..0e8291a9 100644
--- a/Site Management/Recycle Bin/Report on all deleted items across all site collections/WhereIsMyFileWithDetails3.ps1
+++ b/Site Management/Recycle Bin/Report on all deleted items across all site collections/WhereIsMyFileWithDetails3.ps1
@@ -1,60 +1,45 @@
-function Get-DeletedItems
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-DeletedItems{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
-
-try
-{
-$ctx.ExecuteQuery()
-} catch [Net.WebException]
- {
-
- Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
-}
-
- $ctx.Load($ctx.Site)
- $ctx.Load($ctx.Web.Webs)
- $rb=$ctx.Site.RecycleBin
-$ctx.Load($rb)
-try
-{
-$ctx.ExecuteQuery()
-Write-Host $ctx.Site.Url $rb.Count.ToString()
-} catch [Net.WebException]
- {
-
- Write-Host $ctx.Site.Url " failed" $_.Exception.Message.ToString() -ForegroundColor Red
-
-}
-
-for($i=0;$i -lt $rb.Count ;$i++)
-{
-
- $ctx.Load($rb[$i].Author)
- $ctx.Load($rb[$i].DeletedBy)
- $ctx.ExecuteQuery()
- $obj = $rb[$i]
- $obj | Add-Member NoteProperty AuthorLoginName($rb[$i].Author.LoginName)
- $obj | Add-Member NoteProperty DeletedByLoginName($rb[$i].DeletedBy.LoginName)
- Write-Output $obj
-
-
-}
-
-
-
-
-
-
+ )
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+
+ try{
+ $ctx.ExecuteQuery()
+ }
+ catch [Net.WebException] {
+ Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
+
+ $ctx.Load($ctx.Site)
+ $ctx.Load($ctx.Web.Webs)
+ $rb=$ctx.Site.RecycleBin
+ $ctx.Load($rb)
+
+ try{
+ $ctx.ExecuteQuery()
+ Write-Host $ctx.Site.Url $rb.Count.ToString()
+ }
+ catch [Net.WebException] {
+ Write-Host $ctx.Site.Url " failed" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
+
+ for($i=0;$i -lt $rb.Count ;$i++){
+ $ctx.Load($rb[$i].Author)
+ $ctx.Load($rb[$i].DeletedBy)
+ $ctx.ExecuteQuery()
+ $obj = $rb[$i]
+ $obj | Add-Member NoteProperty AuthorLoginName($rb[$i].Author.LoginName)
+ $obj | Add-Member NoteProperty DeletedByLoginName($rb[$i].DeletedBy.LoginName)
+ Write-Output $obj
+ }
}
@@ -71,11 +56,8 @@ $AdminUrl="https://tenant-admin.sharepoint.com"
Connect-SPOService -Url $adminUrl
$sites=(Get-SPOSite).Url
-foreach($site in $sites)
-{
-
- Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site
-
+foreach($site in $sites){
+ Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site
}
From ea08afa7d2eef0aa03be8aa80554209a672c8ba4 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:57:03 +0100
Subject: [PATCH 056/312] Update description.md
---
.../description.md | 26 +++++--------------
1 file changed, 6 insertions(+), 20 deletions(-)
diff --git a/Site Management/Recycle Bin/Report on deleted files within one site/description.md b/Site Management/Recycle Bin/Report on deleted files within one site/description.md
index 747e744e..23d56957 100644
--- a/Site Management/Recycle Bin/Report on deleted files within one site/description.md
+++ b/Site Management/Recycle Bin/Report on deleted files within one site/description.md
@@ -2,27 +2,13 @@ Powershell script that lists all files and items deleted from a single site and
Powershell script that lists all files and items deleted from a single site and present in the recycle bin of that site.
-
-
-Works with group sites!
-
-
+**Works with group sites!**
-
-
-
+The script requires [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038). After installing the SDK verify if the path to 2 libraries: Client.dll and Client.Runtime.dll are in the same location as below:
-
+(usually if not, they will be under **16**\ISAPI\)
-
-
-The script requires SharePoint Online SDK. After installing the SDK verify if the path to 2 libraries: Client.dll and Client.Runtime.dll are in the same location as below:
-
-(usually if not, they will be under 16\ISAPI\)
-
-
-
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
@@ -31,7 +17,7 @@ Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extens
$Username="2190@sampletenant.onmicrosoft.com"
$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$AdminUrl="https://sampletenant.sharepoint.com/sites/dgd"
-
+```
Insert the credentials before running the script.
@@ -40,7 +26,7 @@ Insert the credentials before running the script.
You can either view the deleted files in the Powershell console or enter:
-PathToTheFile\ReportOnDeleted.ps1| export-csv c:\users\MyUSer\CSVReport.csv
+**PathToTheFile\ReportOnDeleted.ps1| export-csv c:\users\MyUSer\CSVReport.csv**
From 4920a65e3a553158caf97a8a1275b611854a42fd Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:57:47 +0100
Subject: [PATCH 057/312] Update ReportOnDeleted.ps1
---
.../ReportOnDeleted.ps1 | 46 ++++++++-----------
1 file changed, 19 insertions(+), 27 deletions(-)
diff --git a/Site Management/Recycle Bin/Report on deleted files within one site/ReportOnDeleted.ps1 b/Site Management/Recycle Bin/Report on deleted files within one site/ReportOnDeleted.ps1
index c26a2789..4b42e489 100644
--- a/Site Management/Recycle Bin/Report on deleted files within one site/ReportOnDeleted.ps1
+++ b/Site Management/Recycle Bin/Report on deleted files within one site/ReportOnDeleted.ps1
@@ -1,38 +1,30 @@
-function Get-DeletedItem
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-DeletedItem{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
-
- $ctx.Load($ctx.Site)
- $rb=$ctx.Site.RecycleBin
-$ctx.Load($rb)
-$ctx.ExecuteQuery()
-
-for($i=0;$i -lt $rb.Count ;$i++)
-{
- $obj = $rb[$i]
-
- Write-Output $obj
-
-
-}
-#$ctx.Web.RecycleBin.RestoreAll()
-$ctx.ExecuteQuery()
-
+ )
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+ $ctx.Load($ctx.Site)
+ $rb=$ctx.Site.RecycleBin
+ $ctx.Load($rb)
+ $ctx.ExecuteQuery()
+ for($i=0;$i -lt $rb.Count ;$i++){
+ $obj = $rb[$i]
+ Write-Output $obj
+ }
+ #$ctx.Web.RecycleBin.RestoreAll()
+ $ctx.ExecuteQuery()
}
From c6f279869da10216be3651bcbd2f3f5a7a38da85 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 16:59:36 +0100
Subject: [PATCH 058/312] Update description.md
---
.../description.md | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/Site Management/Recycle Bin/Restore All Files from a Given Site/description.md b/Site Management/Recycle Bin/Restore All Files from a Given Site/description.md
index cfa62e88..b6bc59f7 100644
--- a/Site Management/Recycle Bin/Restore All Files from a Given Site/description.md
+++ b/Site Management/Recycle Bin/Restore All Files from a Given Site/description.md
@@ -1,26 +1,16 @@
Powershell script that loops through all files and items deleted from a single site and present in the recycle bin of that site. All files are restored.
-
-
-Works with group sites!
-
-
-
-
-
-
-
-
+**Works with group sites!**
-The script requires SharePoint Online SDK. After installing the SDK verify if the path to 2 libraries: Client.dll and Client.Runtime.dll are in the same location as below:
+The script requires [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038). After installing the SDK verify if the path to 2 libraries: Client.dll and Client.Runtime.dll are in the same location as below:
-(usually if not, they will be under 16\ISAPI\)
+(usually if not, they will be under **16**\ISAPI\)
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
@@ -29,5 +19,6 @@ Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extens
$Username="2190@sampletenant.onmicrosoft.com"
$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$AdminUrl="https://sampletenant.sharepoint.com/sites/dgd"
+```
Insert the credentials before running the script.
From d02d1d81ab80dbffd78a25a4a81212afb79470cb Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:00:01 +0100
Subject: [PATCH 059/312] Update RestoreAllDeletedGroupFiles.ps1
---
.../RestoreAllDeletedGroupFiles.ps1 | 39 ++++++++-----------
1 file changed, 17 insertions(+), 22 deletions(-)
diff --git a/Site Management/Recycle Bin/Restore All Files from a Given Site/RestoreAllDeletedGroupFiles.ps1 b/Site Management/Recycle Bin/Restore All Files from a Given Site/RestoreAllDeletedGroupFiles.ps1
index 0ddd35c8..8a48455a 100644
--- a/Site Management/Recycle Bin/Restore All Files from a Given Site/RestoreAllDeletedGroupFiles.ps1
+++ b/Site Management/Recycle Bin/Restore All Files from a Given Site/RestoreAllDeletedGroupFiles.ps1
@@ -1,29 +1,24 @@
-function Restore-AllItems
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Restore-AllItems{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
-
- $rb=$ctx.Site.RecycleBin
-$ctx.Load($rb)
-$ctx.ExecuteQuery()
-Write-Host $ctx.Site.Url $rb.Count.ToString()
-$ctx.Site.RecycleBin.RestoreAll()
-$ctx.ExecuteQuery()
-
-
-
-
-
+ )
+
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+
+ $rb=$ctx.Site.RecycleBin
+ $ctx.Load($rb)
+ $ctx.ExecuteQuery()
+ Write-Host $ctx.Site.Url $rb.Count.ToString()
+ $ctx.Site.RecycleBin.RestoreAll()
+ $ctx.ExecuteQuery()
}
From c85e121f1910e3a15a352018b4dcda1d8638bdde Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:01:52 +0100
Subject: [PATCH 060/312] Update description.md
---
.../description.md | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/description.md b/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/description.md
index 4313daf1..8099ce77 100644
--- a/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/description.md
+++ b/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/description.md
@@ -16,25 +16,19 @@ More variations on the script and more options are coming so click on View Contr
-The script will notify you as it loops through the sites if there are any items at all in the site collection recycle bin; if it finds items DELETED BY the specified user, it will restore them and print out their names in green.
+The script will notify you as it loops through the sites if there are any items at all in the site collection recycle bin; if it finds items DELETED BY the specified user, it will restore them and print out their names **in green**.
-If it runs into any troubles (e.g. it cannot access the public site and the mysite host) it will notify you about it in red
-
-
-
-
-
-
-
-
+If it runs into any troubles (e.g. it cannot access the public site and the mysite host) it will notify you about it **in red**
+
+
Before running the script you need to open the file and enter the correct the data:
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
@@ -46,5 +40,5 @@ $AdminUrl="https://tenant-admin.sharepoint.com"
$userupn="i:0#.f|membership|uss2@arletka.cloudns.org"
$Username correponds to the global admin who has access to all the site collections you want to loop through. $userupn is the naughty employee's SharePoint loginname who deleted the items. Pay attention to the format and DO NOT remove i:0#.f|membership| part unless you are 100% sure that your SharePoint user loginname includes something else than this.
-
+```
From 2a60108038425e1e4f4f86cee654541b12ec8b3e Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:02:26 +0100
Subject: [PATCH 061/312] Update description.md
---
.../description.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/description.md b/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/description.md
index 8099ce77..9d4430d2 100644
--- a/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/description.md
+++ b/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/description.md
@@ -38,7 +38,7 @@ $Username="admin@tenant.onmicrosoft.com"
$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$AdminUrl="https://tenant-admin.sharepoint.com"
$userupn="i:0#.f|membership|uss2@arletka.cloudns.org"
-
+ ```
$Username correponds to the global admin who has access to all the site collections you want to loop through. $userupn is the naughty employee's SharePoint loginname who deleted the items. Pay attention to the format and DO NOT remove i:0#.f|membership| part unless you are 100% sure that your SharePoint user loginname includes something else than this.
-```
+
From a63e994764aa48f7e0600c292b5d9f311e443d71 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:04:28 +0100
Subject: [PATCH 062/312] Update WhereIsMyFileWithDetails3BasedRestore.ps1
---
.../WhereIsMyFileWithDetails3BasedRestore.ps1 | 134 ++++++++----------
1 file changed, 59 insertions(+), 75 deletions(-)
diff --git a/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/WhereIsMyFileWithDetails3BasedRestore.ps1 b/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/WhereIsMyFileWithDetails3BasedRestore.ps1
index 2a6164b5..f6327f51 100644
--- a/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/WhereIsMyFileWithDetails3BasedRestore.ps1
+++ b/Site Management/Recycle Bin/Restore all files, items, lists deleted by a single employee/WhereIsMyFileWithDetails3BasedRestore.ps1
@@ -1,78 +1,65 @@
-function Get-DeletedItems
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-DeletedItems{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=4)]
+ [Parameter(Mandatory=$true,Position=4)]
[string]$UserUpn
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
-
-try
-{
- $ctx.ExecuteQuery()
-} catch [Net.WebException]
- {
-
- Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
-}
-
- $ctx.Load($ctx.Site)
- $ctx.Load($ctx.Web.Webs)
- $rb=$ctx.Site.RecycleBin
-$ctx.Load($rb)
-try
-{
-$ctx.ExecuteQuery()
-Write-Host $ctx.Site.Url " Items in the recycle bin: " $rb.Count.ToString()
-} catch [Net.WebException]
- {
-
- Write-Host $ctx.Site.Url " failed" $_.Exception.Message.ToString() -ForegroundColor Red
-
-}
-
-$myarray=@()
-for($i=0;$i -lt $rb.Count ;$i++)
-{
-
- $ctx.Load($rb[$i].Author)
- $ctx.Load($rb[$i].DeletedBy)
- $ctx.ExecuteQuery()
- $obj = $rb[$i]
- $obj | Add-Member NoteProperty AuthorLoginName($rb[$i].Author.LoginName)
- $obj | Add-Member NoteProperty DeletedByLoginName($rb[$i].DeletedBy.LoginName)
- $myarray+=$obj
-
-}
-
-Write-Host "Items to process: " $myarray.Count
-
-for($i=0;$i -lt $myarray.Count ; $i++){
-if($myarray[$i].DeletedByLoginName -eq $UserUpn )
-{
-$myarray[$i].Restore()
-try{
-$ctx.ExecuteQuery()
-Write-Host $myarray[$i].LeafName " restored" -ForegroundColor Green
-}
-catch [Net.WebException]
-{
- Write-Host $myarray[$i].LeafName " failed" $_.Message.ToString() -ForegroundColor Red
-}
-}
-}
-
-
-
-
-
+ )
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+
+ try{
+ $ctx.ExecuteQuery()
+ }
+ catch [Net.WebException] {
+ Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
+
+ $ctx.Load($ctx.Site)
+ $ctx.Load($ctx.Web.Webs)
+ $rb=$ctx.Site.RecycleBin
+ $ctx.Load($rb)
+
+ try{
+ $ctx.ExecuteQuery()
+ Write-Host $ctx.Site.Url " Items in the recycle bin: " $rb.Count.ToString()
+ }
+ catch [Net.WebException] {
+ Write-Host $ctx.Site.Url " failed" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
+
+ $myarray=@()
+
+ for($i=0;$i -lt $rb.Count ;$i++){
+ $ctx.Load($rb[$i].Author)
+ $ctx.Load($rb[$i].DeletedBy)
+ $ctx.ExecuteQuery()
+ $obj = $rb[$i]
+ $obj | Add-Member NoteProperty AuthorLoginName($rb[$i].Author.LoginName)
+ $obj | Add-Member NoteProperty DeletedByLoginName($rb[$i].DeletedBy.LoginName)
+ $myarray+=$obj
+ }
+
+ Write-Host "Items to process: " $myarray.Count
+
+ for($i=0;$i -lt $myarray.Count ; $i++){
+ if($myarray[$i].DeletedByLoginName -eq $UserUpn ){
+ $myarray[$i].Restore()
+
+ try{
+ $ctx.ExecuteQuery()
+ Write-Host $myarray[$i].LeafName " restored" -ForegroundColor Green
+ }
+ catch [Net.WebException]{
+ Write-Host $myarray[$i].LeafName " failed" $_.Message.ToString() -ForegroundColor Red
+ }
+ }
+ }
}
@@ -90,11 +77,8 @@ $userupn="i:0#.f|membership|uss2@arletka.cloudns.org"
Connect-SPOService -Url $adminUrl
$sites=(Get-SPOSite).Url
-foreach($site in $sites)
-{
-
- Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site -UserUpn $userupn
-
+foreach($site in $sites){
+ Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site -UserUpn $userupn
}
From 1419513779fcfae393e41b23f393516c89104b2f Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:06:31 +0100
Subject: [PATCH 063/312] Update description.md
---
.../description.md | 29 ++++---------------
1 file changed, 5 insertions(+), 24 deletions(-)
diff --git a/Site Management/Recycle Bin/Restore all reycle bin items across all site collections/description.md b/Site Management/Recycle Bin/Restore all reycle bin items across all site collections/description.md
index ab43d2a6..168fcd3a 100644
--- a/Site Management/Recycle Bin/Restore all reycle bin items across all site collections/description.md
+++ b/Site Management/Recycle Bin/Restore all reycle bin items across all site collections/description.md
@@ -1,32 +1,13 @@
The script loops across all site collections in the tenant and finds all deleted items and restores them all.
-
-
-More variations of the script are available on Technet Gallery: https://gallery.technet.microsoft.com/office/site/search?query=recycle%20bin&f%5B1%5D.Value=recycle%20bin&f%5B1%5D.Type=SearchText&f%5B0%5D.Value=Arleta%20Wanat&f%5B0%5D.Type=User&ac=4
-
-
+More variations of the script are available on [Technet Gallery](https://gallery.technet.microsoft.com/office/site/search?query=recycle%20bin&f%5B1%5D.Value=recycle%20bin&f%5B1%5D.Type=SearchText&f%5B0%5D.Value=Arleta%20Wanat&f%5B0%5D.Type=User&ac=4)
-
+The script will notify you as it loops through the sites if there are any items at all in the site collection recycle bin; it will restore them and print out their names **in green**.
-
+If it runs into any troubles (e.g. duplicate items already exist and the mysite host) it will notify you about it **in red**
-The script will notify you as it loops through the sites if there are any items at all in the site collection recycle bin; it will restore them and print out their names in green.
-
-If it runs into any troubles (e.g. duplicate items already exist and the mysite host) it will notify you about it in red
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
Before running the script you need to open the file and enter the correct the data:
From 0f440417bbb3b73bdfb7cf0cba2d510471b184fb Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:07:56 +0100
Subject: [PATCH 064/312] Update RestoreAllRecycleBinItems.ps1
---
.../RestoreAllRecycleBinItems.ps1 | 119 ++++++++----------
1 file changed, 51 insertions(+), 68 deletions(-)
diff --git a/Site Management/Recycle Bin/Restore all reycle bin items across all site collections/RestoreAllRecycleBinItems.ps1 b/Site Management/Recycle Bin/Restore all reycle bin items across all site collections/RestoreAllRecycleBinItems.ps1
index a8b65916..9ff2317d 100644
--- a/Site Management/Recycle Bin/Restore all reycle bin items across all site collections/RestoreAllRecycleBinItems.ps1
+++ b/Site Management/Recycle Bin/Restore all reycle bin items across all site collections/RestoreAllRecycleBinItems.ps1
@@ -1,70 +1,56 @@
-function Get-DeletedItems
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-DeletedItems{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
-
-try
-{
-$ctx.ExecuteQuery()
-} catch [Net.WebException]
- {
-
- Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
-}
-
- $ctx.Load($ctx.Site)
- $ctx.Load($ctx.Web.Webs)
- $rb=$ctx.Site.RecycleBin
-$ctx.Load($rb)
-try
-{
-$ctx.ExecuteQuery()
-Write-Host $ctx.Site.Url " Items in the recycle bin: " $rb.Count.ToString()
-} catch [Net.WebException]
- {
-
- Write-Host $ctx.Site.Url " failed" $_.Exception.Message.ToString() -ForegroundColor Red
-
-}
-
-$myarray=@()
-for($i=0;$i -lt $rb.Count ;$i++)
-{
-
- $obj = $rb[$i]
- $myarray+=$obj
-
-}
-
-Write-Host "Items to process: " $myarray.Count
-
-for($i=0;$i -lt $myarray.Count ; $i++){
-
-$myarray[$i].Restore()
-try{
-$ctx.ExecuteQuery()
-Write-Host $myarray[$i].LeafName " restored" -ForegroundColor Green
-}
-catch [Net.WebException]
-{
- Write-Host $myarray[$i].LeafName " failed" $_.Message.ToString() -ForegroundColor Red
-}
-
-}
-
-
-
-
-
+ )
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+
+ try{
+ $ctx.ExecuteQuery()
+ }
+ catch [Net.WebException] {
+ Write-Host $Url " failed to connect to the site" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
+
+ $ctx.Load($ctx.Site)
+ $ctx.Load($ctx.Web.Webs)
+ $rb=$ctx.Site.RecycleBin
+ $ctx.Load($rb)
+
+ try{
+ $ctx.ExecuteQuery()
+ Write-Host $ctx.Site.Url " Items in the recycle bin: " $rb.Count.ToString()
+ }
+ catch [Net.WebException] {
+ Write-Host $ctx.Site.Url " failed" $_.Exception.Message.ToString() -ForegroundColor Red
+ }
+
+ $myarray=@()
+
+ for($i=0;$i -lt $rb.Count ;$i++){
+ $obj = $rb[$i]
+ $myarray+=$obj
+ }
+
+ Write-Host "Items to process: " $myarray.Count
+
+ for($i=0;$i -lt $myarray.Count ; $i++){
+ $myarray[$i].Restore()
+
+ try{
+ $ctx.ExecuteQuery()
+ Write-Host $myarray[$i].LeafName " restored" -ForegroundColor Green
+ }
+ catch [Net.WebException]{
+ Write-Host $myarray[$i].LeafName " failed" $_.Message.ToString() -ForegroundColor Red
+ }
+ }
}
@@ -81,11 +67,8 @@ $AdminUrl="https://trial765-admin.sharepoint.com"
Connect-SPOService -Url $adminUrl
$sites=(Get-SPOSite).Url
-foreach($site in $sites)
-{
-
- Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site
-
+foreach($site in $sites){
+ Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site
}
From 016779af6ed165e1bfd396b4982e50868b0a94de Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:10:46 +0100
Subject: [PATCH 065/312] Update description.md
---
.../description.md | 37 +++++--------------
1 file changed, 10 insertions(+), 27 deletions(-)
diff --git a/Site Management/Recycle Bin/Restore one file from a Given Site/description.md b/Site Management/Recycle Bin/Restore one file from a Given Site/description.md
index 9be6a13a..36bdfb8c 100644
--- a/Site Management/Recycle Bin/Restore one file from a Given Site/description.md
+++ b/Site Management/Recycle Bin/Restore one file from a Given Site/description.md
@@ -1,22 +1,12 @@
-Powershell script that restores a single file deleted and present in the recycle bin of that site. If you want to restore all files or see a report on them first, please refer to Related Scripts section.
+Powershell script that restores a single file deleted and present in the recycle bin of that site. If you want to restore all files or see a report on them first, please refer to **Related Scripts** section.
-
-
-Works with group sites!
+**Works with group sites!**
-
-
-
-
-The script requires SharePoint Online SDK. After installing the SDK verify if the path to 2 libraries: Client.dll and Client.Runtime.dll are in the same location as below:
-
-(usually if not, they will be under 16\ISAPI\)
-
-
+The script requires [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038). After installing the SDK verify if the path to 2 libraries: Client.dll and Client.Runtime.dll are in the same location as below:
-
+(usually if not, they will be under **16**\ISAPI\)
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
@@ -25,20 +15,13 @@ Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extens
$Username="2190@sampletenant.onmicrosoft.com"
$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$AdminUrl="https://sampletenant.sharepoint.com/sites/dgd"
+```
Insert the credentials before running the script.
-
-
-
-Please share your thoughts in the Q&A section!
+### Please share your thoughts in the Q&A section!
+## Related scripts
+[Create a report on deleted files within one site using Powershell](https://gallery.technet.microsoft.com/scriptcenter/Create-a-report-on-deleted-496ce018)
-
-
-
-
-Related scripts
-Create a report on deleted files within one site using Powershell
-
-Restore All Files from a Given Site using Powershell
+[Restore All Files from a Given Site using Powershell](https://gallery.technet.microsoft.com/scriptcenter/Restore-All-Files-from-a-bc3037ac)
From 6ddf1aa206eacb638c2c04007cdbc66581239ebd Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:11:34 +0100
Subject: [PATCH 066/312] Update RestoreDeletedItem.ps1
---
.../RestoreDeletedItem.ps1 | 41 ++++++++-----------
1 file changed, 16 insertions(+), 25 deletions(-)
diff --git a/Site Management/Recycle Bin/Restore one file from a Given Site/RestoreDeletedItem.ps1 b/Site Management/Recycle Bin/Restore one file from a Given Site/RestoreDeletedItem.ps1
index b7dd6ede..49eabd8a 100644
--- a/Site Management/Recycle Bin/Restore one file from a Given Site/RestoreDeletedItem.ps1
+++ b/Site Management/Recycle Bin/Restore one file from a Given Site/RestoreDeletedItem.ps1
@@ -1,38 +1,29 @@
-function Restore-DeletedItem
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Restore-DeletedItem{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=4)]
+ [Parameter(Mandatory=$true,Position=4)]
[GUID]$ItemGuid
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
-
- $ctx.Load($ctx.Web)
- $rb=$ctx.Site.RecycleBin
-$ctx.Load($rb)
-$ctx.ExecuteQuery()
-
-$rb.GetById($ItemGuid).Restore()
-
-$ctx.ExecuteQuery()
-
-
+ )
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+ $ctx.Load($ctx.Web)
+ $rb=$ctx.Site.RecycleBin
+ $ctx.Load($rb)
+ $ctx.ExecuteQuery()
+ $rb.GetById($ItemGuid).Restore()
+ $ctx.ExecuteQuery()
}
-
-
-
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
From a3f36bdbad5b79cc7d8ebb5741ba4ebda06e2c13 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:13:41 +0100
Subject: [PATCH 067/312] Update description.md
---
.../description.md | 26 +++++--------------
1 file changed, 7 insertions(+), 19 deletions(-)
diff --git a/Site Management/Recycle Bin/Retrieve all reycle bin items across all site collections/description.md b/Site Management/Recycle Bin/Retrieve all reycle bin items across all site collections/description.md
index 6eb121c9..3df93821 100644
--- a/Site Management/Recycle Bin/Retrieve all reycle bin items across all site collections/description.md
+++ b/Site Management/Recycle Bin/Retrieve all reycle bin items across all site collections/description.md
@@ -1,28 +1,18 @@
The script loops through all site collections, their subsites and retrieves all items from the recycle bin. The items can be seen in the console window or you can create an Excel report
-* doesn't apply to group site collections or personal sites
+* doesn't apply to group site collections or personal sites
The script loops through all site collections, their subsites and retrieves all items from the recycle bin. The items can be seen in the console window
-
-
-
-
-
+
or you can create an Excel report using | Export-csv
- C:\Users\ivo\Desktop\wiki\technet\whereismyfile.ps1 | export-csv c:\users\ivo\desktop\whereismyfile.csv
-
-
-
+ ```C:\Users\ivo\Desktop\wiki\technet\whereismyfile.ps1 | export-csv c:\users\ivo\desktop\whereismyfile.csv```
-
-
-
-
+
The script requires SharePoint Online Management Shell and SharePoint Online SDK:
@@ -32,11 +22,9 @@ http://www.microsoft.com/en-us/download/details.aspx?id=30722
-
-
Before running the script enter correct paths to the SDK and your tenant data:
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
@@ -45,10 +33,10 @@ Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extens
$Username="user@tenant.onmicrosoft.com"
$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$AdminUrl="https://tenant-admin.sharepoint.com"
-
+```
-Let me know about your experience in the Q&A section!
+### Let me know about your experience in the Q&A section!
From 286c51fc87499567e8e93c95d60306ea2a213fd8 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:14:41 +0100
Subject: [PATCH 068/312] Update WhereIsMyFile.ps1
---
.../WhereIsMyFile.ps1 | 80 ++++++++-----------
1 file changed, 35 insertions(+), 45 deletions(-)
diff --git a/Site Management/Recycle Bin/Retrieve all reycle bin items across all site collections/WhereIsMyFile.ps1 b/Site Management/Recycle Bin/Retrieve all reycle bin items across all site collections/WhereIsMyFile.ps1
index 19ee085c..fc15178c 100644
--- a/Site Management/Recycle Bin/Retrieve all reycle bin items across all site collections/WhereIsMyFile.ps1
+++ b/Site Management/Recycle Bin/Retrieve all reycle bin items across all site collections/WhereIsMyFile.ps1
@@ -1,47 +1,40 @@
-function Get-DeletedItems
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-DeletedItems{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
-
- $ctx.Load($ctx.Web)
- $ctx.Load($ctx.Web.Webs)
- $rb=$ctx.Web.RecycleBin
-$ctx.Load($rb)
-$ctx.ExecuteQuery()
-Write-Host $ctx.Web.Url $rb.Count.ToString()
-
-for($i=0;$i -lt $rb.Count ;$i++)
-{
- $obj = $rb[$i]
-
- Write-Output $obj
-
-
-}
-#$ctx.Web.RecycleBin.RestoreAll()
-$ctx.ExecuteQuery()
-
-
-
-if($ctx.Web.Webs.Count -gt 0)
- {
- Write-Host "--"-ForegroundColor DarkGreen
- for($i=0;$i -lt $ctx.Web.Webs.Count ;$i++)
- {
- Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $ctx.Web.Webs[$i].Url
- }
- }
-
+ )
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Web.Webs)
+ $rb=$ctx.Web.RecycleBin
+ $ctx.Load($rb)
+ $ctx.ExecuteQuery()
+ Write-Host $ctx.Web.Url $rb.Count.ToString()
+
+ for($i=0;$i -lt $rb.Count ;$i++){
+ $obj = $rb[$i]
+
+ Write-Output $obj
+ }
+
+ #$ctx.Web.RecycleBin.RestoreAll()
+ $ctx.ExecuteQuery()
+
+ if($ctx.Web.Webs.Count -gt 0){
+ Write-Host "--"-ForegroundColor DarkGreen
+
+ for($i=0;$i -lt $ctx.Web.Webs.Count ;$i++){
+ Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $ctx.Web.Webs[$i].Url
+ }
+ }
}
@@ -58,11 +51,8 @@ $AdminUrl="https://tenant-admin.sharepoint.com"
Connect-SPOService -Url $adminUrl
$sites=(Get-SPOSite).Url
-foreach($site in $sites)
-{
-
- Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site
-
+foreach($site in $sites){
+ Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site
}
From 63d0a8a944d29b21dc4d30c24b8b946551ec1ab2 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:16:49 +0100
Subject: [PATCH 069/312] Update description.md
---
.../description.md | 24 ++++---------------
1 file changed, 4 insertions(+), 20 deletions(-)
diff --git a/Site Management/Recycle Bin/Retrieve all reycle bin items across all sites incl group sites/description.md b/Site Management/Recycle Bin/Retrieve all reycle bin items across all sites incl group sites/description.md
index d435aafd..baacdbc3 100644
--- a/Site Management/Recycle Bin/Retrieve all reycle bin items across all sites incl group sites/description.md
+++ b/Site Management/Recycle Bin/Retrieve all reycle bin items across all sites incl group sites/description.md
@@ -1,26 +1,14 @@
-* including the group sites
-
-
+* including the group sites
The script loops through all site collections, their subsites and retrieves all items from the recycle bin. The items can be seen in the console window
-
-
-
-
-
+
or you can create an Excel report using | Export-csv
- C:\Users\ivo\Desktop\wiki\technet\whereismyfile.ps1 | export-csv c:\users\ivo\desktop\whereismyfile.csv
-
-
-
-
+``` C:\Users\ivo\Desktop\wiki\technet\whereismyfile.ps1 | export-csv c:\users\ivo\desktop\whereismyfile.csv```
-
-
-
+
The script requires SharePoint Online Management Shell and SharePoint Online SDK:
@@ -28,10 +16,6 @@ http://technet.microsoft.com/en-us/library/fp161372(v=office.15).aspx
http://www.microsoft.com/en-us/download/details.aspx?id=30722
-
-
-
-
Before running the script enter correct paths to the SDK and your tenant data:
```PowerShell
From a492c53531ab5e3b843504fcce4dcefba2a7c8f7 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:17:54 +0100
Subject: [PATCH 070/312] Update WithUnifiedGroups.ps1
---
.../WithUnifiedGroups.ps1 | 89 ++++++++-----------
1 file changed, 38 insertions(+), 51 deletions(-)
diff --git a/Site Management/Recycle Bin/Retrieve all reycle bin items across all sites incl group sites/WithUnifiedGroups.ps1 b/Site Management/Recycle Bin/Retrieve all reycle bin items across all sites incl group sites/WithUnifiedGroups.ps1
index 17253212..72cd36b3 100644
--- a/Site Management/Recycle Bin/Retrieve all reycle bin items across all sites incl group sites/WithUnifiedGroups.ps1
+++ b/Site Management/Recycle Bin/Retrieve all reycle bin items across all sites incl group sites/WithUnifiedGroups.ps1
@@ -1,47 +1,40 @@
-function Get-DeletedItems
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Get-DeletedItems{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url
-)
-#$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
-
- $ctx.Load($ctx.Web)
- $ctx.Load($ctx.Web.Webs)
- $rb=$ctx.Web.RecycleBin
-$ctx.Load($rb)
-$ctx.ExecuteQuery()
-Write-Host $ctx.Web.Url $rb.Count.ToString()
-
-for($i=0;$i -lt $rb.Count ;$i++)
-{
- $obj = $rb[$i]
-
- Write-Output $obj
-
-
-}
-#$ctx.Web.RecycleBin.RestoreAll()
-$ctx.ExecuteQuery()
-
-
-
-if($ctx.Web.Webs.Count -gt 0)
- {
- Write-Host "--"-ForegroundColor DarkGreen
- for($i=0;$i -lt $ctx.Web.Webs.Count ;$i++)
- {
- Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $ctx.Web.Webs[$i].Url
- }
- }
-
+ )
+ #$password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Web.Webs)
+ $rb=$ctx.Web.RecycleBin
+ $ctx.Load($rb)
+ $ctx.ExecuteQuery()
+ Write-Host $ctx.Web.Url $rb.Count.ToString()
+
+ for($i=0;$i -lt $rb.Count ;$i++){
+ $obj = $rb[$i]
+
+ Write-Output $obj
+ }
+
+ #$ctx.Web.RecycleBin.RestoreAll()
+ $ctx.ExecuteQuery()
+
+ if($ctx.Web.Webs.Count -gt 0){
+ Write-Host "--"-ForegroundColor DarkGreen
+
+ for($i=0;$i -lt $ctx.Web.Webs.Count ;$i++){
+ Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $ctx.Web.Webs[$i].Url
+ }
+ }
}
@@ -66,16 +59,10 @@ Import-PSSession $sesja
$unifiedGroups=(get-unifiedGroup).SharePointSiteUrl
-foreach($site in $sites)
-{
-
- Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site
-
+foreach($site in $sites){
+ Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $site
}
-
-
-foreach($ug in $unifiedGroups)
-{
- Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $ug
-}
\ No newline at end of file
+foreach($ug in $unifiedGroups){
+ Get-DeletedItems -Username $Username -AdminPassword $AdminPassword -Url $ug
+}
From 97ebe4d2784de2e5c0ec3f6697018797b38ded10 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:18:47 +0100
Subject: [PATCH 071/312] Update Remove SPO subsite.ps1
---
.../Remove SPO subsite/Remove SPO subsite.ps1 | 28 +++++++------------
1 file changed, 10 insertions(+), 18 deletions(-)
diff --git a/Site Management/Remove SPO subsite/Remove SPO subsite.ps1 b/Site Management/Remove SPO subsite/Remove SPO subsite.ps1
index 53869cc4..8c067f4d 100644
--- a/Site Management/Remove SPO subsite/Remove SPO subsite.ps1
+++ b/Site Management/Remove SPO subsite/Remove SPO subsite.ps1
@@ -9,38 +9,30 @@ function GetAllSubsitesAndDelete($SiteUrl)
$ctx2.Load($sites2)
$ctx2.ExecuteQuery()
- if($sites2.Count -gt 0)
- {
- for($i=0;$i -lt $sites2.Count ;$i++)
- {
+ if($sites2.Count -gt 0) {
+ for($i=0;$i -lt $sites2.Count ;$i++) {
GetAllSubsitesAndDelete($sites2[$i].Url)
}
- try
- {
- $rootWeb2.DeleteObject()
+ try {
+ $rootWeb2.DeleteObject()
$ctx2.ExecuteQuery()
Write-Host "Subsite " $rootWeb2.Url " has been removed"
}
- catch [Net.WebException]
- {
+ catch [Net.WebException] {
Write-Host $_.Exception.ToString()
}
- }
- else
- {
- try
- {
+ }
+ else {
+ try {
$rootWeb2.DeleteObject()
$ctx2.ExecuteQuery()
Write-Host "Subsite " $rootWeb2.Url " has been removed"
}
- catch [Net.WebException]
- {
+ catch [Net.WebException] {
Write-Host $_.Exception.ToString()
}
- }
-
+ }
}
#paths to SDK (copied from Victor's comment)
From 00628c8f39f1cb2f3367dc9184284ea90398b03d Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:20:12 +0100
Subject: [PATCH 072/312] Update description.md
---
.../description.md | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/Site Management/Set RequestAccessEmail for all subsites in one site collection/description.md b/Site Management/Set RequestAccessEmail for all subsites in one site collection/description.md
index b28cc009..1a303fb8 100644
--- a/Site Management/Set RequestAccessEmail for all subsites in one site collection/description.md
+++ b/Site Management/Set RequestAccessEmail for all subsites in one site collection/description.md
@@ -1,12 +1,8 @@
Powershell script to set the email for access requests. The setting is available from SharePoint Online User Interface at:
-Site Settings>Site Permissions>Access Requests Settings
+**Site Settings** > **Site Permissions** > **Access Requests Settings**
-
-
-
-
-
+
The script requires the following libraries. Please confirm that the files are in the same location on your PC.
From 2dd8dfab89d4bb91b102c91312db54274578f9d4 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:21:02 +0100
Subject: [PATCH 073/312] Update RequestEmailAddress.ps1
---
.../RequestEmailAddress.ps1 | 59 ++++++++-----------
1 file changed, 25 insertions(+), 34 deletions(-)
diff --git a/Site Management/Set RequestAccessEmail for all subsites in one site collection/RequestEmailAddress.ps1 b/Site Management/Set RequestAccessEmail for all subsites in one site collection/RequestEmailAddress.ps1
index 12641efc..4c960948 100644
--- a/Site Management/Set RequestAccessEmail for all subsites in one site collection/RequestEmailAddress.ps1
+++ b/Site Management/Set RequestAccessEmail for all subsites in one site collection/RequestEmailAddress.ps1
@@ -1,46 +1,37 @@
Add-Type -Path "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.Runtime.dll"
-function Set-SPOWebRequestAccessEmail
-{
-param (
- [Parameter(Mandatory=$true,Position=1)]
+function Set-SPOWebRequestAccessEmail{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
$password,
[Parameter(Mandatory=$true,Position=4)]
[string]$RequestAccessEmail
- )
-
-
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
- $ctx.Load($ctx.Web)
- $ctx.ExecuteQuery()
- Write-Host "Changing for " $ctx.Web.Url
- $ctx.Web.RequestAccessEmail=$RequestAccessEmail
- $ctx.Web.Update()
- $ctx.ExecuteQuery()
-
- $ctx.Load($ctx.Web.Webs)
- $ctx.ExecuteQuery()
-
- if($ctx.Web.Webs.Count -ne 0)
- {
- foreach($webbie in $ctx.Web.Webs)
- {
-
-
- Set-SPOWebRequestAccessEmail -Username $Username -Url $webbie.Url -password $password -RequestAccessEmail $RequestAccessEmail
-
-
- }
-
- }
-
- }
+ )
+
+
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
+ $ctx.Load($ctx.Web)
+ $ctx.ExecuteQuery()
+ Write-Host "Changing for " $ctx.Web.Url
+ $ctx.Web.RequestAccessEmail=$RequestAccessEmail
+ $ctx.Web.Update()
+ $ctx.ExecuteQuery()
+
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
+
+ if($ctx.Web.Webs.Count -ne 0){
+ foreach($webbie in $ctx.Web.Webs){
+ Set-SPOWebRequestAccessEmail -Username $Username -Url $webbie.Url -password $password -RequestAccessEmail $RequestAccessEmail
+ }
+ }
+}
# Paths to SDK. Please verify location on your computer.
From 70145f68e5de2d6543dcafe0896c7942030987ac Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:23:03 +0100
Subject: [PATCH 074/312] Update description.md
---
.../description.md | 33 +++++--------------
1 file changed, 9 insertions(+), 24 deletions(-)
diff --git a/Site Management/Set theme of your SharePoint Online site/description.md b/Site Management/Set theme of your SharePoint Online site/description.md
index 8952118c..3b89366d 100644
--- a/Site Management/Set theme of your SharePoint Online site/description.md
+++ b/Site Management/Set theme of your SharePoint Online site/description.md
@@ -1,28 +1,18 @@
Powershell script to set theme for your site.
-
-
The script chooses one of the default font and color palettes available from Designer Gallery:
-
-
-
+
The font and colors are applied to existing site. The current settings (they can be modified) change the look of the page into:
-
-
-
-
-
-
-1. Install SharePoint Online SDK.
+
-2. Open the script (e.g. in Notepad) and enter your data in the following lines:
+**1.** Install SharePoint Online SDK.
-
+**2.** Open the script (e.g. in Notepad) and enter your data in the following lines:
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
@@ -31,19 +21,14 @@ Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extens
$Username="admin@tenant.onmicrosoft.com"
$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$AdminUrl="https://tenant.sharepoint.com/sites/powie1"
+ ```
-
-
a) Find paths to SDK libraries SharePoint.Client.Runtime.dll and SharePoint.Client.dll on your local computer and replace the ones in the file (they may be very similar or exactly the same!)
b) Insert the username and the url of the site where you want to change the theme. You will be prmopted for the password during the script execution so do not enter it here.
-
-
-3. Run the script in any Powershell Module.
+**3.** Run the script in any Powershell Module.
-4. Verify the results on the site.
-
-
+**4.** Verify the results on the site.
-If you have any questions, do not hesitate to post them in the Q&A section!
+#### If you have any questions, do not hesitate to post them in the Q&A section!
From f6a6dbe1e5f89f7e83beaab23d0bb932a2267a7c Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:23:56 +0100
Subject: [PATCH 075/312] Update Theme.ps1
---
.../Theme.ps1 | 47 +++++++++----------
1 file changed, 22 insertions(+), 25 deletions(-)
diff --git a/Site Management/Set theme of your SharePoint Online site/Theme.ps1 b/Site Management/Set theme of your SharePoint Online site/Theme.ps1
index 42075fa2..8f68d755 100644
--- a/Site Management/Set theme of your SharePoint Online site/Theme.ps1
+++ b/Site Management/Set theme of your SharePoint Online site/Theme.ps1
@@ -1,35 +1,32 @@
-function Set-SPOTheme
-{
-
- param (
- [Parameter(Mandatory=$true,Position=1)]
+function Set-SPOTheme{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url,
-[Parameter(Mandatory=$true,Position=4)]
+ [Parameter(Mandatory=$true,Position=4)]
[string]$palette,
-[Parameter(Mandatory=$true,Position=5)]
+ [Parameter(Mandatory=$true,Position=5)]
[string]$font
- )
-
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
+ )
- $ctx.Load($ctx.Web)
- $ctx.Load($ctx.Web.ThemeInfo)
- $ctx.ExecuteQuery()
- $palette=$ctx.web.ServerRelativeUrl+$palette
- $font=$ctx.Web.ServerRelativeUrl+$font
- $mynu=Out-Null
- Write-Host "Current theme " $ctx.Web.ThemeInfo.AccessibleDescription
- Write-Host $ctx.Web.ThemeInfo.ThemeBackgroundImageUri
-$ctx.Web.ApplyTheme($palette,$font,$mynu, $true)
-$ctx.ExecuteQuery()
-
- }
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Web.ThemeInfo)
+ $ctx.ExecuteQuery()
+ $palette=$ctx.web.ServerRelativeUrl+$palette
+ $font=$ctx.Web.ServerRelativeUrl+$font
+ $mynu=Out-Null
+ Write-Host "Current theme " $ctx.Web.ThemeInfo.AccessibleDescription
+ Write-Host $ctx.Web.ThemeInfo.ThemeBackgroundImageUri
+ $ctx.Web.ApplyTheme($palette,$font,$mynu, $true)
+ $ctx.ExecuteQuery()
+}
From 72673aebe20b224c913c81aefcfcebcb4ecf1bcb Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:25:40 +0100
Subject: [PATCH 076/312] Update description.md
---
.../description.md | 31 +++----------------
1 file changed, 5 insertions(+), 26 deletions(-)
diff --git a/Site Management/Update locale id for all personal sites/description.md b/Site Management/Update locale id for all personal sites/description.md
index 04612d55..f3f23d1e 100644
--- a/Site Management/Update locale id for all personal sites/description.md
+++ b/Site Management/Update locale id for all personal sites/description.md
@@ -1,34 +1,21 @@
-Acknowledegement
-The script uses Vadim Gremyachev's Invoke-LoadMethod published here
+### Acknowledegement
-
+The script uses Vadim Gremyachev's Invoke-LoadMethod published here
-
+### Description
-Description
The script updates locale id in regional settings of all personal sites to which you have access. The locale id can later be verified by going to Site Settings>Regional Settings.
-
-
The script requires the following libraries:
-
-
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client.Runtime\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.Runtime.dll"
-
-
-
-
-
-
+ ```
Enter the correct data and specify the locale id you'd like to set:
-
-
```PowerShell
# Insert the credentials and the name of the admin site
$Username="admin@tenant.onmicrosoft.com"
@@ -37,19 +24,11 @@ Connect-SPOService https://tenant-admin.sharepoint.com -Credential $Username
$myhost="https://tenant-my.sharepoint.com"
$LocaleID=1033
```
-
-
-
-
-
If you are not currently an Administrator of the user's personal site, you can gain access using:
-
-
```PowerShell
Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $true
```
-
In order to use the cmdlet, you can either modify the.ps1 file or write a separate script.
From 3fdeea617c06a784bb80d8c3652d362c5ae93c72 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:26:21 +0100
Subject: [PATCH 077/312] Update description.md
---
.../Update locale id for all personal sites/description.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Site Management/Update locale id for all personal sites/description.md b/Site Management/Update locale id for all personal sites/description.md
index f3f23d1e..fd1a5a35 100644
--- a/Site Management/Update locale id for all personal sites/description.md
+++ b/Site Management/Update locale id for all personal sites/description.md
@@ -1,6 +1,6 @@
### Acknowledegement
-The script uses Vadim Gremyachev's Invoke-LoadMethod published here
+The script uses [Vadim Gremyachev's](https://sharepoint.stackexchange.com/users/10610/vadim-gremyachev) Invoke-LoadMethod published [here](https://sharepoint.stackexchange.com/questions/126221/spo-retrieve-hasuniqueroleassignements-property-using-powershell)
### Description
From a47138f1791a31a8349168f060c486ec2c16b307 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:28:33 +0100
Subject: [PATCH 078/312] Update LocaleID.ps1
---
.../LocaleID.ps1 | 107 ++++++++----------
1 file changed, 49 insertions(+), 58 deletions(-)
diff --git a/Site Management/Update locale id for all personal sites/LocaleID.ps1 b/Site Management/Update locale id for all personal sites/LocaleID.ps1
index 6de5c803..e177f7e5 100644
--- a/Site Management/Update locale id for all personal sites/LocaleID.ps1
+++ b/Site Management/Update locale id for all personal sites/LocaleID.ps1
@@ -1,63 +1,57 @@
# Vadim Gremyachev's function
- Function Invoke-LoadMethod() {
-param(
- [Microsoft.SharePoint.Client.ClientObject]$Object = $(throw "Please provide a Client Object"),
- [string]$PropertyName
-)
- $ctx = $Object.Context
- $load = [Microsoft.SharePoint.Client.ClientContext].GetMethod("Load")
- $type = $Object.GetType()
- $clientLoad = $load.MakeGenericMethod($type)
-
-
- $Parameter = [System.Linq.Expressions.Expression]::Parameter(($type), $type.Name)
- $Expression = [System.Linq.Expressions.Expression]::Lambda(
- [System.Linq.Expressions.Expression]::Convert(
- [System.Linq.Expressions.Expression]::PropertyOrField($Parameter,$PropertyName),
- [System.Object]
- ),
- $($Parameter)
- )
- $ExpressionArray = [System.Array]::CreateInstance($Expression.GetType(), 1)
- $ExpressionArray.SetValue($Expression, 0)
- $clientLoad.Invoke($ctx,@($Object,$ExpressionArray))
+Function Invoke-LoadMethod() {
+ param(
+ [Microsoft.SharePoint.Client.ClientObject]$Object = $(throw "Please provide a Client Object"),
+ [string]$PropertyName
+ )
+
+ $ctx = $Object.Context
+ $load = [Microsoft.SharePoint.Client.ClientContext].GetMethod("Load")
+ $type = $Object.GetType()
+ $clientLoad = $load.MakeGenericMethod($type)
+
+ $Parameter = [System.Linq.Expressions.Expression]::Parameter(($type), $type.Name)
+ $Expression = [System.Linq.Expressions.Expression]::Lambda(
+ [System.Linq.Expressions.Expression]::Convert(
+ [System.Linq.Expressions.Expression]::PropertyOrField($Parameter,$PropertyName),
+ [System.Object]
+ ),
+ $($Parameter)
+ )
+
+ $ExpressionArray = [System.Array]::CreateInstance($Expression.GetType(), 1)
+ $ExpressionArray.SetValue($Expression, 0)
+ $clientLoad.Invoke($ctx,@($Object,$ExpressionArray))
}
-function Set-SPOUserRegionalSettings
-{
-
- param (
- [Parameter(Mandatory=$true,Position=1)]
+function Set-SPOUserRegionalSettings{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
[Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$LocaleID
- )
-
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
-
- $ctx.Load($ctx.Web)
-
- $ctx.Load($ctx.Web.RegionalSettings.TimeZones)
- Invoke-LoadMethod -Object $ctx.Web.RegionalSettings -PropertyName "LocaleID"
- $ctx.ExecuteQuery()
+ )
- Write-Host "Old locale id: " $ctx.Web.RegionalSettings.LocaleId.ToString()
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
- $ctx.Web.RegionalSettings.LocaleId=$LocaleID
-$ctx.Web.Update()
-$ctx.ExecuteQuery()
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Web.RegionalSettings.TimeZones)
+ Invoke-LoadMethod -Object $ctx.Web.RegionalSettings -PropertyName "LocaleID"
+ $ctx.ExecuteQuery()
- }
-
-
+ Write-Host "Old locale id: " $ctx.Web.RegionalSettings.LocaleId.ToString()
+ $ctx.Web.RegionalSettings.LocaleId=$LocaleID
+ $ctx.Web.Update()
+ $ctx.ExecuteQuery()
+}
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.dll"
@@ -72,19 +66,16 @@ $LocaleID=1033
$users=get-SPOUser -Site $myhost
-foreach($user in $users)
-{
-
- if($user.LoginName.Contains('@'))
- {
- $persweb=$user.LoginName.Replace(".","_").Replace("@","_")
- $persweb=$myhost+"/personal/"+$persweb
- Write-Host $persweb
+foreach($user in $users){
+ if($user.LoginName.Contains('@')){
+ $persweb=$user.LoginName.Replace(".","_").Replace("@","_")
+ $persweb=$myhost+"/personal/"+$persweb
+ Write-Host $persweb
- $AdminUrl=$persweb
+ $AdminUrl=$persweb
- Set-SPOUserRegionalSettings -Username $Username -AdminPassword $AdminPassword -Url $AdminUrl -LocaleID $LocaleID
- }
+ Set-SPOUserRegionalSettings -Username $Username -AdminPassword $AdminPassword -Url $AdminUrl -LocaleID $LocaleID
+ }
}
From e19197ac139eedb9facbf4edbef7a8338deeab12 Mon Sep 17 00:00:00 2001
From: JakubPiegza <45433779+JakubPiegza@users.noreply.github.com>
Date: Sun, 1 Mar 2020 17:29:56 +0100
Subject: [PATCH 079/312] Update PersonalRegSettings.ps1
---
.../PersonalRegSettings.ps1 | 60 +++++++++----------
1 file changed, 27 insertions(+), 33 deletions(-)
diff --git a/Site Management/Update the time zones in all personal sites/PersonalRegSettings.ps1 b/Site Management/Update the time zones in all personal sites/PersonalRegSettings.ps1
index d8a3c125..0cee28b0 100644
--- a/Site Management/Update the time zones in all personal sites/PersonalRegSettings.ps1
+++ b/Site Management/Update the time zones in all personal sites/PersonalRegSettings.ps1
@@ -1,33 +1,29 @@
-function Set-SPOUserRegionalSettings
-{
- param (
- [Parameter(Mandatory=$true,Position=1)]
+function Set-SPOUserRegionalSettings{
+ param (
+ [Parameter(Mandatory=$true,Position=1)]
[string]$Username,
- [Parameter(Mandatory=$true,Position=2)]
+ [Parameter(Mandatory=$true,Position=2)]
$AdminPassword,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$Url,
- [Parameter(Mandatory=$true,Position=3)]
+ [Parameter(Mandatory=$true,Position=3)]
[string]$TimeZoneID
- )
-
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
- $ctx.ExecuteQuery()
-
- $ctx.Load($ctx.Web)
- $ctx.Load($ctx.Web.RegionalSettings.TimeZone)
- $ctx.Load($ctx.Web.RegionalSettings.TimeZones)
- $ctx.ExecuteQuery()
-
-
- $ctx.Web.RegionalSettings.TimeZone=$ctx.Web.RegionalSettings.TimeZones.GetbyID($TimeZoneID)
- $ctx.Web.Update()
- $ctx.ExecuteQuery()
+ )
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $ctx.ExecuteQuery()
+
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Web.RegionalSettings.TimeZone)
+ $ctx.Load($ctx.Web.RegionalSettings.TimeZones)
+ $ctx.ExecuteQuery()
+
+ $ctx.Web.RegionalSettings.TimeZone=$ctx.Web.RegionalSettings.TimeZones.GetbyID($TimeZoneID)
+ $ctx.Web.Update()
+ $ctx.ExecuteQuery()
}
-
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client.Runtime\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.Runtime.dll"
@@ -40,17 +36,15 @@ $myhost="https://t321-my.sharepoint.com"
$users=get-SPOUser -Site $myhost
$TimeZoneID=63
-foreach($user in $users)
-{
- if($user.LoginName.Contains('@'))
- {
- $persweb=$user.LoginName.Replace(".","_").Replace("@","_")
- $persweb=$myhost+"/personal/"+$persweb
- Write-Host $persweb
+foreach($user in $users){
+ if($user.LoginName.Contains('@')){
+ $persweb=$user.LoginName.Replace(".","_").Replace("@","_")
+ $persweb=$myhost+"/personal/"+$persweb
+ Write-Host $persweb
- $AdminUrl=$persweb
+ $AdminUrl=$persweb
- Set-SPoUserRegionalSettings -Username $Username -AdminPassword $AdminPassword -Url $AdminUrl -TimeZoneID $TimeZoneID
- }
+ Set-SPoUserRegionalSettings -Username $Username -AdminPassword $AdminPassword -Url $AdminUrl -TimeZoneID $TimeZoneID
+ }
}
From 1a9e5ddd7ce59d9c04f96f8351f5efc9757281a4 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 1 Aug 2020 17:48:28 +0300
Subject: [PATCH 080/312] Delete description.md
---
.../description.md | 40 -------------------
1 file changed, 40 deletions(-)
delete mode 100644 Site Management/Create OneDrive for Business usage report for all users/description.md
diff --git a/Site Management/Create OneDrive for Business usage report for all users/description.md b/Site Management/Create OneDrive for Business usage report for all users/description.md
deleted file mode 100644
index c99d310f..00000000
--- a/Site Management/Create OneDrive for Business usage report for all users/description.md
+++ /dev/null
@@ -1,40 +0,0 @@
-The script retrieves all SPO users and pulls usage statistics for their ODB sites.
-
-
-
-The script uses CSOM. It requires SharePoint Online SDK and SharePoint Online Management Shell. Make sure the script refers the paths on your computer:
-
-
-
-```PowerShell
-# Paths to SDK. Please verify location on your computer.
-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"
- ```
-
-
-
-
-## How to use?
-**1.** Download the script and open it in ISE or NotePad.
-
-**2.** Enter your tenant's data:
-
-
-
-```PowerShell
-$admin="user@tenant.onmicrosoft.com"
-$pass=Read-Host "Enter Password: " -AsSecureString
-$mysiteHost="https://tenant-my.sharepoint.com"
-```
-
-
-**3.** Run the script.
-
-**4.** Expected results:
-
-
-
-### Acknowledgement:
-
-The script is using Invoke-LoadMethod published [here](https://sharepoint.stackexchange.com/questions/126221/spo-retrieve-hasuniqueroleassignements-property-using-powershell), without which it could not proceed. The method was created and belongs to a brilliant SharePointer and Guru, [Vadim Gremyachev](https://sharepoint.stackexchange.com/users/10610/vadim-gremyachev).
From 7d00f0660b90856d3ee4c01256c88f9222161fc4 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 1 Aug 2020 17:49:17 +0300
Subject: [PATCH 081/312] Delete AddFeaturesToPersonal.ps1
---
.../AddFeaturesToPersonal.ps1 | 103 ------------------
1 file changed, 103 deletions(-)
delete mode 100644 Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1
diff --git a/Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1 b/Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1
deleted file mode 100644
index ecec6128..00000000
--- a/Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1
+++ /dev/null
@@ -1,103 +0,0 @@
-function Remove-SPOFeature{
- param (
- [string]$Username,
- [Parameter(Mandatory=$true,Position=1)]
- [string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
- $password
- )
-
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
- $site=$ctx.Site
- $ctx.Load($site)
- $ctx.ExecuteQuery()
-
-
- $site.Features.Remove($featureguid, $true);
- $ctx.ExecuteQuery()
- Write-Host "Feature removed for" $site.Url
-}
-
-
-function Add-SPOFeature{
- param (
- [string]$Username,
- [Parameter(Mandatory=$true,Position=1)]
- [string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
- $password
- )
-
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
- $site=$ctx.Site
- $ctx.Load($site)
- $ctx.Load($ctx.Web.Webs)
- $ctx.ExecuteQuery()
-
- $site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
- $ctx.ExecuteQuery()
- Write-Host "Feature enabled for" $site.Url
-}
-
-
-
-
-Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
-Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-$csvPath= Read-Host -Prompt "Enter the path of the csv file"
-$users=import-csv $csvPath
-$siteUrl = Read-Host -Prompt "Enter the my site host: https://tenant-my.sharepoint.com”
-$username = Read-Host -Prompt "Enter admin@tenant.onmicrosoft.com"
-$password = Read-Host -Prompt "Enter password" -AsSecureString
-$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
-$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
-$ctx.Credentials= New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
-$adminUrl=$siteUrl.Replace("-my","-admin")
-Connect-SPOService -Url $adminUrl -Credential $username
-
-try{
- $ctx.ExecuteQuery()
-}
-catch [Net.WebException] {
- Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
-}
-
-$feature=Read-Host -Prompt "Enter the feature id, e.g. for SharePoint Server Publishing it's 94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb"
-$featureguid=new-object System.Guid $feature
-$RemoveorAdd= Read-Host "Do you want to activate the feature to the sites (a) or deactivate it (d)? Press a or d."
-$RemoveorAdd=$RemoveorAdd.Trim()
-
-if($RemoveorAdd -like "a"){
- foreach($user in $users){
- if($user.Site -ne ""){
- $urelek=$siteUrl+$user.Site
- $urelek=$urelek.TrimEnd("/")
- Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $true
- Add-SPOFeature -Username $username -Url $urelek -password $password
-
- #Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $false
- }
- }
-}
-elseif($RemoveorAdd -like "d"){
- foreach($user in $users){
- if($user.Site -ne ""){
- $urelek=$siteUrl+$user.Site
- $urelek=$urelek.TrimEnd("/")
- Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $true
- Remove-SPOFeature -Username $username -Url $urelek -password $password
- }
- }
-}
-else{
- Write-Host "Didn't recognize the command"
-}
-
-
-
-Write-Host "Done." -ForegroundColor Green
-
From 074acb5405a0abc82ede6e69c07cc64c81267b5a Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 1 Aug 2020 17:49:42 +0300
Subject: [PATCH 082/312] Delete description.md
---
.../description.md | 44 -------------------
1 file changed, 44 deletions(-)
delete mode 100644 Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md
diff --git a/Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md b/Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md
deleted file mode 100644
index 1349362f..00000000
--- a/Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md
+++ /dev/null
@@ -1,44 +0,0 @@
-This script is a temporary solution intended to work together with [Retrieve all SharePoint Online profiles and their properties using CSOM](https://gallery.technet.microsoft.com/Retrieve-all-SharePoint-357e2936).
-
-Using [Retrieve all SharePoint Online profiles and their properties using CSOM](https://gallery.technet.microsoft.com/Retrieve-all-SharePoint-357e2936) generate a CSV file with personal sites in the format:
-
-
-
-Site
-|---|
-/personal/t_trial234_onmicrosoft_com/
-/personal/uss100_trial234_onmicrosoft_com/
-/personal/t_trial234_onmicrosoft_com/
-
-The Column name has to be SITE.
-
-Run the script. It will ask you for credentials, [feature id](https://docs.microsoft.com/pl-pl/archive/blogs/), and whether you want to acivate it or de-activate.
-
-Before running the script, verify the paths to SharePoint Online SDK:
-
-```PowerShell
-Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
-Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
- ```
-
-
-Optionally, you can edit these two lines so that the script doesn'task you for credentials at runtime:
-
-During its execution the script will inform you, where the features have been changed.
-
-
-### Related scripts
-
-[Activate or deactivate a SPO feature for direct subsites in site collection](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-9fe2fb34)
-
-[Activate or deactivate a SPO feature for a single site](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-da769f9d)
-
-[Activate or deactivate a site collection feature ](https://gallery.technet.microsoft.com/Activate-or-deactivate-a-a7e12c79)
-
-[Get all features from a site collection](https://gallery.technet.microsoft.com/Get-all-features-from-a-2954b47a)
-
-[Get all features from a site](https://gallery.technet.microsoft.com/Get-all-features-from-a-3168e476)
-
-
-
-** As a side-effect the script assigns the administrator as a site collection admin to all users. This will be improved in the next version**
From 3a390764f680a0ae64259a26f1295c1919f24716 Mon Sep 17 00:00:00 2001
From: LocalGitty <42035526+lgitty@users.noreply.github.com>
Date: Sat, 1 Aug 2020 17:52:37 +0300
Subject: [PATCH 083/312] Delete description.md
---
.../description.md | 40 -------
.../AddFeaturesToPersonal.ps1 | 103 ------------------
.../description.md | 44 --------
3 files changed, 187 deletions(-)
delete mode 100644 Site Management/Create OneDrive for Business usage report for all users/description.md
delete mode 100644 Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1
delete mode 100644 Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md
diff --git a/Site Management/Create OneDrive for Business usage report for all users/description.md b/Site Management/Create OneDrive for Business usage report for all users/description.md
deleted file mode 100644
index c99d310f..00000000
--- a/Site Management/Create OneDrive for Business usage report for all users/description.md
+++ /dev/null
@@ -1,40 +0,0 @@
-The script retrieves all SPO users and pulls usage statistics for their ODB sites.
-
-
-
-The script uses CSOM. It requires SharePoint Online SDK and SharePoint Online Management Shell. Make sure the script refers the paths on your computer:
-
-
-
-```PowerShell
-# Paths to SDK. Please verify location on your computer.
-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"
- ```
-
-
-
-
-## How to use?
-**1.** Download the script and open it in ISE or NotePad.
-
-**2.** Enter your tenant's data:
-
-
-
-```PowerShell
-$admin="user@tenant.onmicrosoft.com"
-$pass=Read-Host "Enter Password: " -AsSecureString
-$mysiteHost="https://tenant-my.sharepoint.com"
-```
-
-
-**3.** Run the script.
-
-**4.** Expected results:
-
-
-
-### Acknowledgement:
-
-The script is using Invoke-LoadMethod published [here](https://sharepoint.stackexchange.com/questions/126221/spo-retrieve-hasuniqueroleassignements-property-using-powershell), without which it could not proceed. The method was created and belongs to a brilliant SharePointer and Guru, [Vadim Gremyachev](https://sharepoint.stackexchange.com/users/10610/vadim-gremyachev).
diff --git a/Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1 b/Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1
deleted file mode 100644
index ecec6128..00000000
--- a/Site Management/Features/Add/Remove Site Features from all Personal Sites/AddFeaturesToPersonal.ps1
+++ /dev/null
@@ -1,103 +0,0 @@
-function Remove-SPOFeature{
- param (
- [string]$Username,
- [Parameter(Mandatory=$true,Position=1)]
- [string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
- $password
- )
-
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
- $site=$ctx.Site
- $ctx.Load($site)
- $ctx.ExecuteQuery()
-
-
- $site.Features.Remove($featureguid, $true);
- $ctx.ExecuteQuery()
- Write-Host "Feature removed for" $site.Url
-}
-
-
-function Add-SPOFeature{
- param (
- [string]$Username,
- [Parameter(Mandatory=$true,Position=1)]
- [string]$Url,
- [Parameter(Mandatory=$true,Position=2)]
- $password
- )
-
- $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
- $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
-
- $site=$ctx.Site
- $ctx.Load($site)
- $ctx.Load($ctx.Web.Webs)
- $ctx.ExecuteQuery()
-
- $site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
- $ctx.ExecuteQuery()
- Write-Host "Feature enabled for" $site.Url
-}
-
-
-
-
-Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
-Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-$csvPath= Read-Host -Prompt "Enter the path of the csv file"
-$users=import-csv $csvPath
-$siteUrl = Read-Host -Prompt "Enter the my site host: https://tenant-my.sharepoint.com”
-$username = Read-Host -Prompt "Enter admin@tenant.onmicrosoft.com"
-$password = Read-Host -Prompt "Enter password" -AsSecureString
-$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
-$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
-$ctx.Credentials= New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
-$adminUrl=$siteUrl.Replace("-my","-admin")
-Connect-SPOService -Url $adminUrl -Credential $username
-
-try{
- $ctx.ExecuteQuery()
-}
-catch [Net.WebException] {
- Write-Host "Wrong credentials" $_.Exception.Message -ForegroundColor Red
-}
-
-$feature=Read-Host -Prompt "Enter the feature id, e.g. for SharePoint Server Publishing it's 94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb"
-$featureguid=new-object System.Guid $feature
-$RemoveorAdd= Read-Host "Do you want to activate the feature to the sites (a) or deactivate it (d)? Press a or d."
-$RemoveorAdd=$RemoveorAdd.Trim()
-
-if($RemoveorAdd -like "a"){
- foreach($user in $users){
- if($user.Site -ne ""){
- $urelek=$siteUrl+$user.Site
- $urelek=$urelek.TrimEnd("/")
- Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $true
- Add-SPOFeature -Username $username -Url $urelek -password $password
-
- #Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $false
- }
- }
-}
-elseif($RemoveorAdd -like "d"){
- foreach($user in $users){
- if($user.Site -ne ""){
- $urelek=$siteUrl+$user.Site
- $urelek=$urelek.TrimEnd("/")
- Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $true
- Remove-SPOFeature -Username $username -Url $urelek -password $password
- }
- }
-}
-else{
- Write-Host "Didn't recognize the command"
-}
-
-
-
-Write-Host "Done." -ForegroundColor Green
-
diff --git a/Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md b/Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md
deleted file mode 100644
index 1349362f..00000000
--- a/Site Management/Features/Add/Remove Site Features from all Personal Sites/description.md
+++ /dev/null
@@ -1,44 +0,0 @@
-This script is a temporary solution intended to work together with [Retrieve all SharePoint Online profiles and their properties using CSOM](https://gallery.technet.microsoft.com/Retrieve-all-SharePoint-357e2936).
-
-Using [Retrieve all SharePoint Online profiles and their properties using CSOM](https://gallery.technet.microsoft.com/Retrieve-all-SharePoint-357e2936) generate a CSV file with personal sites in the format:
-
-
-
-Site
-|---|
-/personal/t_trial234_onmicrosoft_com/
-/personal/uss100_trial234_onmicrosoft_com/
-/personal/t_trial234_onmicrosoft_com/
-
-The Column name has to be SITE.
-
-Run the script. It will ask you for credentials, [feature id](https://docs.microsoft.com/pl-pl/archive/blogs/), and whether you want to acivate it or de-activate.
-
-Before running the script, verify the paths to SharePoint Online SDK:
-
-```PowerShell
-Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
-Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
- ```
-
-
-Optionally, you can edit these two lines so that the script doesn'task you for credentials at runtime:
-
-During its execution the script will inform you, where the features have been changed.
-
-
-### Related scripts
-
-[Activate or deactivate a SPO feature for direct subsites in site collection](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-9fe2fb34)
-
-[Activate or deactivate a SPO feature for a single site](https://gallery.technet.microsoft.com/office/Activate-or-deactivate-a-da769f9d)
-
-[Activate or deactivate a site collection feature ](https://gallery.technet.microsoft.com/Activate-or-deactivate-a-a7e12c79)
-
-[Get all features from a site collection](https://gallery.technet.microsoft.com/Get-all-features-from-a-2954b47a)
-
-[Get all features from a site](https://gallery.technet.microsoft.com/Get-all-features-from-a-3168e476)
-
-
-
-** As a side-effect the script assigns the administrator as a site collection admin to all users. This will be improved in the next version**
From 1e561127160fcf0b57b317652dea2120fc642c8b Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 1 Aug 2020 18:02:08 +0300
Subject: [PATCH 084/312] Update desscription.md
---
.../desscription.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Versioning/Create a report on all file versions in OneDrive for Business/desscription.md b/Versioning/Create a report on all file versions in OneDrive for Business/desscription.md
index 58278007..cab6144e 100644
--- a/Versioning/Create a report on all file versions in OneDrive for Business/desscription.md
+++ b/Versioning/Create a report on all file versions in OneDrive for Business/desscription.md
@@ -10,7 +10,7 @@ It requires installed SharePoint Online SDK
You have to enter the library data before running the script:
-PowerShell
+```PowerShell
#Paths to SDK
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
@@ -26,6 +26,6 @@ $Url="https://test-my.sharepoint.com/personal/german_test_onmicrosoft_com"
$csvPath="C:\MyFiles\Versions.csv"
#Path for a csv where files with no version will be recorded
$csvPath2="C:\MyFiles\FileThatShowsNoVersionsAvailable4.csv"
-
+ ```
You will see the following output during the script execution and 2 csv files will be generated:
From d061797e9b5df03169a8638acf6d8280ad9a3072 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 2 Aug 2020 12:23:29 +0300
Subject: [PATCH 085/312] Rename desscription.md to description.md
---
.../{desscription.md => description.md} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename Versioning/Create a report on all file versions in OneDrive for Business/{desscription.md => description.md} (100%)
diff --git a/Versioning/Create a report on all file versions in OneDrive for Business/desscription.md b/Versioning/Create a report on all file versions in OneDrive for Business/description.md
similarity index 100%
rename from Versioning/Create a report on all file versions in OneDrive for Business/desscription.md
rename to Versioning/Create a report on all file versions in OneDrive for Business/description.md
From b6580507e1f5015e38f4dfb05516e11763654292 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 5 Aug 2020 21:06:47 +0300
Subject: [PATCH 086/312] Create README.md
---
File Management/Get SPO Folder and File/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 File Management/Get SPO Folder and File/README.md
diff --git a/File Management/Get SPO Folder and File/README.md b/File Management/Get SPO Folder and File/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/File Management/Get SPO Folder and File/README.md
@@ -0,0 +1 @@
+.
From 11cef658581dba41d606708b88c7557c27273cd7 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 8 Aug 2020 12:05:20 +0300
Subject: [PATCH 087/312] Create README.md
---
Items Management/Create new list item using Powershell/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Items Management/Create new list item using Powershell/README.md
diff --git a/Items Management/Create new list item using Powershell/README.md b/Items Management/Create new list item using Powershell/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Items Management/Create new list item using Powershell/README.md
@@ -0,0 +1 @@
+.
From 8466b8674a81e2d60b20c92f3f47152e69e92b6d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Mon, 10 Aug 2020 09:32:09 +0300
Subject: [PATCH 088/312] Update description.md
---
.../description.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/description.md b/OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/description.md
index 948e2f38..df1f668c 100644
--- a/OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/description.md
+++ b/OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/description.md
@@ -26,7 +26,7 @@ You need to enter the appropriate data:
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client.Runtime\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.Runtime.dll"
@@ -35,7 +35,7 @@ Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.
$Username="ana@etr56.onmicrosoft.com"
Connect-SPOService https://etr56-admin.sharepoint.com -Credential $Username
$myhost="https://etr56-my.sharepoint.com"
-
+ ```
The user list is imported from a csv file that should look like this:
From 2013932a1a48400d6c5a6dab35e5712a85a10f95 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Mon, 10 Aug 2020 09:32:18 +0300
Subject: [PATCH 089/312] Create README.md
---
.../README.md | 47 +++++++++++++++++++
1 file changed, 47 insertions(+)
create mode 100644 OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/README.md
diff --git a/OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/README.md b/OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/README.md
new file mode 100644
index 00000000..df1f668c
--- /dev/null
+++ b/OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/README.md
@@ -0,0 +1,47 @@
+Powershell script that enables versioning for all the libraries and lists in personal sites (OneDrive for Business).
+
+It requires SharePoint Online Management Shell and SharePoint SDK installed:
+
+http://technet.microsoft.com/en-us/library/fp161372(v=office.15).aspx
+
+http://www.microsoft.com/en-us/download/details.aspx?id=30722
+
+
+
+For some lists, enabling version may not be possible and you will receive a notification of that.
+
+At the end, a csv file is generated with the lists' urls and the status whether enabling was successful or not.
+
+
+
+As the script runs you will see green lists' titles for which the enabling succeeded and red for those which failed (not all lists support versioning).
+
+
+
+
+
+
+
+You need to enter the appropriate data:
+
+
+
+```PowerShell
+ # Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client.Runtime\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Insert the credentials and the name of the admin site inthe next 3 lines
+$Username="ana@etr56.onmicrosoft.com"
+Connect-SPOService https://etr56-admin.sharepoint.com -Credential $Username
+$myhost="https://etr56-my.sharepoint.com"
+ ```
+ The user list is imported from a csv file that should look like this:
+
+
+
+
+
+
+
+There is another version of this script that enables versioning for ALL users: https://gallery.technet.microsoft.com/office/Enable-versioning-for-all-83548eb6
From 6e68a527fab496dcb7adc153dfdac6c1c399dd1d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Mon, 17 Aug 2020 17:42:18 +0300
Subject: [PATCH 090/312] Create README.md
---
.../Script to get SharePoint objects with REST/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
diff --git a/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md b/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
@@ -0,0 +1 @@
+.
From 2725ad2bd91ad810ca4dc08e681da2ba6c5877c9 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 19 Aug 2020 23:30:20 +0300
Subject: [PATCH 091/312] Create README.md
---
.../Remove SharePoint Online licenses for all users/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Licensing/Remove SharePoint Online licenses for all users/README.md
diff --git a/Licensing/Remove SharePoint Online licenses for all users/README.md b/Licensing/Remove SharePoint Online licenses for all users/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Licensing/Remove SharePoint Online licenses for all users/README.md
@@ -0,0 +1 @@
+.
From a9316adb2a7e91b9fa9ec82a8bb6494a6fdbb581 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 21 Aug 2020 19:25:56 +0300
Subject: [PATCH 092/312] Update README.md
---
.../README.md | 59 ++++++++++++++++++-
1 file changed, 58 insertions(+), 1 deletion(-)
diff --git a/Items Management/Create new list item using Powershell/README.md b/Items Management/Create new list item using Powershell/README.md
index 9c558e35..f1a9692b 100644
--- a/Items Management/Create new list item using Powershell/README.md
+++ b/Items Management/Create new list item using Powershell/README.md
@@ -1 +1,58 @@
-.
+Powershell Module with one new cmdlet
+
+
+
+## **New-SPOListItem**
+
+### *Parameters*
+
+The cmdlet is using the following parameters:
+```powershell
+ [string]$Username
+ ```
+The string specifies admin of the site
+```powershell
+[string]$Url
+```
+Specifies the url of a site where you have the list
+```powershell
+[string]$AdminPassword,
+```
+Admin's password
+```powershell
+[string]$ListTitle
+```
+Specifies the title of the list where you want to change the settings.
+```powershell
+[string]$ItemTitle
+```
+Specifies the title of the list item. In case of a contact list it will be the LastName, task list -> task name, etc.
+```powershell
+[string]$AdditionalField=""
+```
+Optional. If you want to add some additional attribute to the item at the moment of creation. For more attributes use Update-SPOListItem. This parameter defines the internal name of the column
+```powershell
+[string]$AdditionalValue=""
+```
+Optional. If you want to add some additional attribute to the item at the moment of creation. For more attributes use Update-SPOListItem. This parameter defines the value that you want to input.
+
+### *Examples*
+
+
+
+### *Requirements*
+
+The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the ```.psm1``` file!
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+```
+
+
+Enjoy and please share feedback!
+
+
+
+
From 1bd3b838628a31c29d1dcce4493ce00af4cd9de4 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 21 Aug 2020 19:45:40 +0300
Subject: [PATCH 093/312] Create README.md
---
.../Bulk update all items in a list/README.md | 37 +++++++++++++++++++
1 file changed, 37 insertions(+)
create mode 100644 Items Management/Bulk update all items in a list/README.md
diff --git a/Items Management/Bulk update all items in a list/README.md b/Items Management/Bulk update all items in a list/README.md
new file mode 100644
index 00000000..2671eab5
--- /dev/null
+++ b/Items Management/Bulk update all items in a list/README.md
@@ -0,0 +1,37 @@
+Short Powershell script to bulk update all items in a list
+
+### **Example**
+
+
+ Result:
+
+
+
+## **Requirements**
+
+Before running the script, you have to modify the last lines!
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+
+Update-SPOListItem -Username user@tenant.onmicrosoft.com -Url https://tenant.sharepoint.com/sites/teamsitewithlists -AdminPassword Pass -ListTitle "contacts list" -FieldToUpdate elp -ValueToUpdate bio
+```
+
++ Enter your credentials
++ FieldToUpdate specifies the name of the list column which you want to update
++ ValueToUpdate means the value that you want to enter in that column for each item
++ Verify if the [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038) is installed in the same location on your computer
+
+
+
+
+Related Scripts
+
+[Powershell Module with Update-SPOListItem cmdlet](https://gallery.technet.microsoft.com/scriptcenter/Powershell-Module-for-easy-5d590623)
+
+
+
+Enjoy and please share feedback!
From 439cd33007298439c7df05839ebf3c73c4bb891d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 21 Aug 2020 19:46:50 +0300
Subject: [PATCH 094/312] Create README.md
---
.../Get FlowsPolicy using REST API/README.md | 24 +++++++++++++++++++
1 file changed, 24 insertions(+)
create mode 100644 Power Automate/Get FlowsPolicy using REST API/README.md
diff --git a/Power Automate/Get FlowsPolicy using REST API/README.md b/Power Automate/Get FlowsPolicy using REST API/README.md
new file mode 100644
index 00000000..d8706e41
--- /dev/null
+++ b/Power Automate/Get FlowsPolicy using REST API/README.md
@@ -0,0 +1,24 @@
+Powershell script that verifies DisableFlows property of a SharePoint Online site. The script is related to and more described in an article [Verifying and modifying Flows Policy in SharePoint Online site using Powershell](https://social.technet.microsoft.com/wiki/contents/articles/39331.sharepoint-online-verifying-and-modifying-flows-policy-in-site-using-powershell.aspx) on the TechNet Wiki.
+
+
+
+If the setting is set to disabled, the flows button will be missing on all lists and libraries in the site:
+
+
+
+
+The property can also be verified using REST API in the browser:
+
+
+
+## How to use?
+- Download and open the .ps1 file.
+- Enter the correct url and admin login:
+```PowerShell
+$username="admin@TENANT.onmicrosoft.com"
+$Url="https://TENANT.sharepoint.com"
+```
+- Run the script
+
+
+
From ac14119a87c9000878c1e06d0985a8ae55113007 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 21 Aug 2020 19:47:57 +0300
Subject: [PATCH 095/312] Update README.md
---
Power Automate/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Power Automate/README.md b/Power Automate/README.md
index 9c558e35..a8de0c7c 100644
--- a/Power Automate/README.md
+++ b/Power Automate/README.md
@@ -1 +1 @@
-.
+Scripts to modify Power Automate settings
From 3a351ebc1966075d53c218cc914c7b2ea690998f Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:34:20 +0300
Subject: [PATCH 096/312] Create README.md
---
.../README.md | 29 +++++++++++++++++++
1 file changed, 29 insertions(+)
create mode 100644 Tenant Settings/Add BCC to all sharing invitations in OneDrive for Business/README.md
diff --git a/Tenant Settings/Add BCC to all sharing invitations in OneDrive for Business/README.md b/Tenant Settings/Add BCC to all sharing invitations in OneDrive for Business/README.md
new file mode 100644
index 00000000..a4152221
--- /dev/null
+++ b/Tenant Settings/Add BCC to all sharing invitations in OneDrive for Business/README.md
@@ -0,0 +1,29 @@
+Short Powershell script to send bcc copies to all sharing invitations send from users' OneDrives for Business. The script uses CSOM with December 2015 update.
+
+## How to use?
+
+- Download and open the .ps1 file.
+- Add correct SharePoint Online SDK libraries:
+
+
+```PowerShell
+#Paths to SDK
+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\SharePoint Client Components\16.0\Assemblies\Microsoft.Online.SharePoint.Client.Tenant.dll"
+```
+- Enter the correct url, and admin login. Under InvitationsList, enter the email addresses that you want to add in BCC to every sharing invitation in your users' OneDrive for Business. You will be additionally prompted for the password. Do not enter it in the file:
+```PowerShell
+ $spoTenant.BccExternalSharingInvitationsList={arleta.wanat@SomeFakeAdresse.com}
+
+
+
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="admin@TENANT.onmicrosoft.com"
+$Url="https://TENANT-admin.sharepoint.com"
+ ```
+- Run the script
+
+After the setting takes place, the BCC emails will start receiving copies of the sharing invitations with Invited person's email in the "TO" field and inviter's in "CC":
+
+
From 2d25ad6b468576c8b1700d0ccf10f6e2d03af649 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:34:40 +0300
Subject: [PATCH 097/312] Create README.md
---
.../README.md | 32 +++++++++++++++++++
1 file changed, 32 insertions(+)
create mode 100644 Tenant Settings/Allow external sharing only with specific domains/README.md
diff --git a/Tenant Settings/Allow external sharing only with specific domains/README.md b/Tenant Settings/Allow external sharing only with specific domains/README.md
new file mode 100644
index 00000000..c0257d59
--- /dev/null
+++ b/Tenant Settings/Allow external sharing only with specific domains/README.md
@@ -0,0 +1,32 @@
+Short Powershell script that limits external sharing in SharePoint Online to only specific mail domains. The script uses CSOM and requires SharePoint Online SDK.
+
+
+
+The script is related to and more described in a Wiki article [SharePoint Online Sharing settings with CSOM](https://social.technet.microsoft.com/wiki/contents/articles/39365.sharepoint-online-sharing-settings-with-csom).
+
+
+
+
+
+## How to use?
+
+- Download and open the .ps1 file.
+- Add correct libraries:
+``` PowerShell
+
+#Paths to SDK
+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\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.Online.SharePoint.Client.Tenant.dll"
+```
+- Enter the correct url and admin login:
+
+
+```PowerShell
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="admin@TENANT.onmicrosoft.com"
+$Url="https://TENANT-admin.sharepoint.com"
+$AllowDomainList="test.com madeup.com"
+```
+- Run the script
+
From f4cff1d09ac9a77dc2601a06f00a3f97fe65b959 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:40:57 +0300
Subject: [PATCH 098/312] Create README.md
---
.../README.md | 49 +++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644 Tenant Settings/Block download of all files for guests in SharePoint with Powershell and CSOM/README.md
diff --git a/Tenant Settings/Block download of all files for guests in SharePoint with Powershell and CSOM/README.md b/Tenant Settings/Block download of all files for guests in SharePoint with Powershell and CSOM/README.md
new file mode 100644
index 00000000..f7154227
--- /dev/null
+++ b/Tenant Settings/Block download of all files for guests in SharePoint with Powershell and CSOM/README.md
@@ -0,0 +1,49 @@
+Short Powershell script that prevents external users from downloading the files that have been shared with them using guest link. The script uses CSOM and requires SharePoint Online SDK. The script is described in and is part of Wiki Technet article OneDrive for Business sharing settings with PowerShell .
+
+Modifying these settings is currently not possible with SharePoint Online Management Shell.
+
+
+
+
+
+
+From August 2016 and the CSOM version 16.1.5626.1200 there is an option to prevent external users from downloading the files that have been shared with them using guest link:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+How to use?
+Download and open the .ps1 file.
+Add correct SharePoint Online SDK libraries:
+
+
+```PowerShell
+#Paths to SDK
+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\SharePoint Client Components\16.0\Assemblies\Microsoft.Online.SharePoint.Client.Tenant.dll"
+``` Enter the correct url, the setting for the sync button, and admin login. You will be additionally prompted for the password. Do not enter it in the file:
+
+
+```PowerShell
+ #Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="admin@TENANT.onmicrosoft.com"
+$Url="https://TENANT-admin.sharepoint.com"
+$BlockDownloadOfAllFilesForGuests=$false #Whether the download should be allowed
+```
+ Run the script
+
+
+
+
+
From ed0ee3cf8da08f06c93f584a8c96270b985c6c2b Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:41:39 +0300
Subject: [PATCH 099/312] Create README.md
---
.../README.md | 36 +++++++++++++++++++
1 file changed, 36 insertions(+)
create mode 100644 Tenant Settings/Force external users to accept sharing invitations with the same account/README.md
diff --git a/Tenant Settings/Force external users to accept sharing invitations with the same account/README.md b/Tenant Settings/Force external users to accept sharing invitations with the same account/README.md
new file mode 100644
index 00000000..c0363ce1
--- /dev/null
+++ b/Tenant Settings/Force external users to accept sharing invitations with the same account/README.md
@@ -0,0 +1,36 @@
+Short PowerShell script to force external users to accept sharing invitations with the same account that the invitations were sent to. The script uses CSOM, tenant object property RequireAcceptingAccountMatchInvitedAccount, and requires SharePoint Online SDK.
+
+It is one of the 3 additional settings:
+
+- Limit external sharing using domains
+- Prevent external users from sharing files, folders, and sites that they don’t own
+- External users must accept sharing invitations using the same account that the invitations were sent to
+
+
+
+
+The script is related to and more described in a Wiki article [SharePoint Online Sharing settings with CSOM](https://social.technet.microsoft.com/wiki/contents/articles/39365.sharepoint-online-sharing-settings-with-csom).
+
+
+
+### How to use?
+
+- Download and open the .ps1 file.
+- Add correct libraries:
+
+
+```PowerShell
+#Paths to SDK
+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\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.Online.SharePoint.Client.Tenant.dll"
+```
+- Enter the correct url and admin login:
+
+```PowerShell
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="admin@TENANT.onmicrosoft.com"
+$Url="https://TENANT-admin.sharepoint.com"
+$RequireAcceptingAccountMatchInvitedAccount=$true
+```
+- Run the script
From 0982d8f882c5efa091362afc2b5d499b9a9d0681 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:42:20 +0300
Subject: [PATCH 100/312] Create README.md
---
.../README.md | 44 +++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 Tenant Settings/Globally set OneDrive for Business Access Requests and Members Can Share/README.md
diff --git a/Tenant Settings/Globally set OneDrive for Business Access Requests and Members Can Share/README.md b/Tenant Settings/Globally set OneDrive for Business Access Requests and Members Can Share/README.md
new file mode 100644
index 00000000..7a13599f
--- /dev/null
+++ b/Tenant Settings/Globally set OneDrive for Business Access Requests and Members Can Share/README.md
@@ -0,0 +1,44 @@
+Short Powershell script that modifies the following settings on every user's OneDrive for Business:
+
+
+
+
+
+On- Users with edit permissions can re-share.
+
+Off- Only OneDrive for Business owner can share. The value of ODBAccessRequestsdefines whether a request to share gets sent to the owner.
+
+Unspecified- Let each OneDrive for Business owner enable or disable re-sharing behavior on their OneDrive.
+
+
+
+
+
+The script is part of Technet Wiki article OneDrive for Business sharing settings with Powershell.
+
+## How to use?
+Download and open the .ps1 file.
+Add correct SharePoint Online SDK libraries:
+
+
+```PowerShell
+#Paths to SDK
+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\SharePoint Client Components\16.0\Assemblies\Microsoft.Online.SharePoint.Client.Tenant.dll"
+``` Enter the correct url, the setting for the sync button, and admin login. You will be additionally prompted for the password. Do not enter it in the file:
+```PowerShell
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="admin@TENANT.onmicrosoft.com"
+$Url="https://TENANT-admin.sharepoint.com"
+$ODBMembersCanShare="On" # On, Off, Unspecified
+$ODBAccessRequests="Unspecified" #On, Off, Unspecified
+```
+
+
+ Run the script
+
+
+
+
+
From 620ed2030c6e1b399a8a1ec1b93ded8059ae48c2 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:44:58 +0300
Subject: [PATCH 101/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/README.md
diff --git a/Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/README.md b/Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/README.md
@@ -0,0 +1 @@
+.
From c6ccf6da08a7ee4a50ca5e9271aa611bd05d89ac Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:45:19 +0300
Subject: [PATCH 102/312] Update description.md
---
.../description.md | 3 ---
1 file changed, 3 deletions(-)
diff --git a/Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/description.md b/Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/description.md
index d2189e8a..0255174e 100644
--- a/Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/description.md
+++ b/Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/description.md
@@ -1,10 +1,7 @@
Short Powershell script that hides Sync button in OneDrive for Business for all users.
-
-
The script uses CSOM and requires SharePoint Online SDK.
-
This button will be removed with the script:
From 56f587da25147ae1f7306bb59bf9faeda3ccd07e Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:45:24 +0300
Subject: [PATCH 103/312] Update README.md
---
.../README.md | 35 ++++++++++++++++++-
1 file changed, 34 insertions(+), 1 deletion(-)
diff --git a/Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/README.md b/Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/README.md
index 9c558e35..d2189e8a 100644
--- a/Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/README.md
+++ b/Tenant Settings/Hide OneDrive for Business Sync button using PS and CSOM/README.md
@@ -1 +1,34 @@
-.
+Short Powershell script that hides Sync button in OneDrive for Business for all users.
+
+
+
+The script uses CSOM and requires SharePoint Online SDK.
+
+
+
+This button will be removed with the script:
+
+
+
+### How to use?
+- Download and open the ```.ps1``` file.
+- Add correct SharePoint Online SDK libraries:
+
+```PowerShell
+#Paths to SDK
+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\SharePoint Client Components\16.0\Assemblies\Microsoft.Online.SharePoint.Client.Tenant.dll"
+```
+
+- Enter the correct url, the setting for the sync button, and admin login. You will be additionally prompted for the password. Do not enter it in the file:
+
+```PowerShell
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="arleta@TENANT.onmicrosoft.com"
+$Url="https://TENANT-admin.sharepoint.com"
+$HideSyncButtonOnODB=$true #Whether the sync button should be hidden
+```
+
+- Run the script
+
From 63080fbf57e6f3ac0f414ddc0247c8cb2de1acda Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:46:06 +0300
Subject: [PATCH 104/312] Create README.md
---
Tenant Settings/Modify external sharing setting/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Tenant Settings/Modify external sharing setting/README.md
diff --git a/Tenant Settings/Modify external sharing setting/README.md b/Tenant Settings/Modify external sharing setting/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Tenant Settings/Modify external sharing setting/README.md
@@ -0,0 +1 @@
+.
From 405846ac4200240355634dd453cb2819cbf9bc02 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:46:23 +0300
Subject: [PATCH 105/312] Update description.md
---
Tenant Settings/Modify external sharing setting/description.md | 1 -
1 file changed, 1 deletion(-)
diff --git a/Tenant Settings/Modify external sharing setting/description.md b/Tenant Settings/Modify external sharing setting/description.md
index 6c4018ca..5151383b 100644
--- a/Tenant Settings/Modify external sharing setting/description.md
+++ b/Tenant Settings/Modify external sharing setting/description.md
@@ -23,4 +23,3 @@ $Url="https://TENANT-admin.sharepoint.com"
$SharingCapability="Disabled" # Disabled, ExternalUserSharingOnly, ExternalUserAndGuestSharing, ExistingExternalUserSharingOnly
```
- Run the script
-
From 8643276fd68322bc52903b35d4e8ff947a78f08c Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:46:28 +0300
Subject: [PATCH 106/312] Update README.md
---
.../Modify external sharing setting/README.md | 26 ++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/Tenant Settings/Modify external sharing setting/README.md b/Tenant Settings/Modify external sharing setting/README.md
index 9c558e35..5151383b 100644
--- a/Tenant Settings/Modify external sharing setting/README.md
+++ b/Tenant Settings/Modify external sharing setting/README.md
@@ -1 +1,25 @@
-.
+Short Powershell script sets the external sharing setting in SharePoint Online and controls how users share content with people outside the organization.
+
+It sets sharing outside the organization using CSOM to Disabled, ExternalUserSharingOnly, ExternalUserAndGuestSharing, or ExistingExternalUserSharingOnly.
+It requires SharePoint Online SDK.
+
+The script is part of and more described in a TechNet Wiki [SharePoint Online Sharing settings with CSOM](https://social.technet.microsoft.com/wiki/contents/articles/39365.sharepoint-online-sharing-settings-with-csom.aspx?Sort=MostRecent&PageIndex=1) article.
+
+## How to use?
+- Download and open the .ps1 file.
+- Add correct libraries:
+
+```PowerShell
+#Paths to SDK
+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\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.Online.SharePoint.Client.Tenant.dll"
+```
+- Enter the correct url and admin login:
+```PowerShell
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="admin@TENANT.onmicrosoft.com"
+$Url="https://TENANT-admin.sharepoint.com"
+$SharingCapability="Disabled" # Disabled, ExternalUserSharingOnly, ExternalUserAndGuestSharing, ExistingExternalUserSharingOnly
+```
+- Run the script
From 92f76901297185f41cb7ebfbf3c82cdf165440ef Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:46:54 +0300
Subject: [PATCH 107/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Tenant Settings/Notify OneDrive for Business owner if anonymous link to their content is created/README.md
diff --git a/Tenant Settings/Notify OneDrive for Business owner if anonymous link to their content is created/README.md b/Tenant Settings/Notify OneDrive for Business owner if anonymous link to their content is created/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Tenant Settings/Notify OneDrive for Business owner if anonymous link to their content is created/README.md
@@ -0,0 +1 @@
+.
From 28af30b6b56cd9220beeb63bcf549a8bc46d7f91 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:47:11 +0300
Subject: [PATCH 108/312] Update README.md
---
.../README.md | 29 ++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/Tenant Settings/Notify OneDrive for Business owner if anonymous link to their content is created/README.md b/Tenant Settings/Notify OneDrive for Business owner if anonymous link to their content is created/README.md
index 9c558e35..09e4549a 100644
--- a/Tenant Settings/Notify OneDrive for Business owner if anonymous link to their content is created/README.md
+++ b/Tenant Settings/Notify OneDrive for Business owner if anonymous link to their content is created/README.md
@@ -1 +1,28 @@
-.
+Short Powershell script that enables or disables a setting to send emails to OneDrive for Business owners when someone creates an anonymous link to the ODB owner's content.
+
+It uses CSOm and requires SharePoint Online SDK. The script is part of and more explained in a Technet Wiki article:
+[OneDrive for Business notification settings with Powershell](https://social.technet.microsoft.com/wiki/contents/articles/39385.onedrive-for-business-notifications-with-powershell.aspx)
+
+
+## How to use?
+
+- Download and open the .ps1 file.
+- Add correct libraries:
+
+```PowerShell
+#Paths to SDK
+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\SharePoint Client Components\16.0\Assemblies\Microsoft.Online.SharePoint.Client.Tenant.dll"
+```
+
+- Enter the correct url and admin login:
+
+```PowerShell
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="admin@TENANT.onmicrosoft.com"
+$Url="https://TENANT-admin.sharepoint.com"
+$OwnerAnonymousNotification=$true #Whether ODB owner should be notified when anonymous link is created or changed
+ ```
+
+- Run the script
From 78b5abde58f171525a515ef24be139eb7919eeb8 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:48:16 +0300
Subject: [PATCH 109/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Tenant Settings/Notify OneDrive for Business owner if their content is reshared/README.md
diff --git a/Tenant Settings/Notify OneDrive for Business owner if their content is reshared/README.md b/Tenant Settings/Notify OneDrive for Business owner if their content is reshared/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Tenant Settings/Notify OneDrive for Business owner if their content is reshared/README.md
@@ -0,0 +1 @@
+.
From 9ed92cf9dad138204ef22fe9e0c57f3b58e4d158 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:48:31 +0300
Subject: [PATCH 110/312] Update README.md
---
.../README.md | 29 ++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/Tenant Settings/Notify OneDrive for Business owner if their content is reshared/README.md b/Tenant Settings/Notify OneDrive for Business owner if their content is reshared/README.md
index 9c558e35..a7c3e28e 100644
--- a/Tenant Settings/Notify OneDrive for Business owner if their content is reshared/README.md
+++ b/Tenant Settings/Notify OneDrive for Business owner if their content is reshared/README.md
@@ -1 +1,28 @@
-.
+Short Powershell script that enables or disables a setting to send emails to OneDrive for Business owners when someone further shares the ODB owner's content with external users.
+
+It uses CSOM and requires SharePoint Online SDK. The script is part of and more explained in a Technet Wiki article:
+
+[OneDrive for Business notification settings with Powershell](https://social.technet.microsoft.com/wiki/contents/articles/39385.onedrive-for-business-notifications-with-powershell.aspx)
+
+## How to use?
+
+- Download and open the .ps1 file.
+- Add correct libraries:
+
+```PowerShell
+#Paths to SDK
+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\SharePoint Client Components\16.0\Assemblies\Microsoft.Online.SharePoint.Client.Tenant.dll"
+```
+
+- ter the correct url and admin login:
+
+```PowerShell
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="admin@TENANT.onmicrosoft.com"
+$Url="https://TENANT-admin.sharepoint.com"
+$NotifyOwnersWhenItemsReshare=$true #Whether ODB owner should be notified the content is reshared with external users
+```
+
+- Run the script
From fac46efebeff1c47bfb49a4c24a88d9646d46502 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 22 Aug 2020 21:48:40 +0300
Subject: [PATCH 111/312] Update description.md
From e2893167bf77b94dc8b5eeb11c551fb6b53453da Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Mon, 24 Aug 2020 17:11:59 +0300
Subject: [PATCH 112/312] Create README.md
---
.../Export all user profiles using Powershell/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 User Profiles/Export all user profiles using Powershell/README.md
diff --git a/User Profiles/Export all user profiles using Powershell/README.md b/User Profiles/Export all user profiles using Powershell/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/User Profiles/Export all user profiles using Powershell/README.md
@@ -0,0 +1 @@
+.
From 1572d67f37195845cae02e2f1a6875079daa9f5d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 27 Aug 2020 19:03:55 +0300
Subject: [PATCH 113/312] Update README.md
---
.../README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Items Management/Attachments/Copy all SharePoint Online list item attachments/README.md b/Items Management/Attachments/Copy all SharePoint Online list item attachments/README.md
index 5fffbeac..f1006081 100644
--- a/Items Management/Attachments/Copy all SharePoint Online list item attachments/README.md
+++ b/Items Management/Attachments/Copy all SharePoint Online list item attachments/README.md
@@ -4,7 +4,7 @@ Powershell script retrieves all the item attachments from a SharePoint list and
In order to use the script, you need to enter your data in the downloaded file:
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
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"
@@ -15,7 +15,7 @@ $Url = "https://etr56.sharepoint.com"
$ListTitle = "attatest"
$CSVPath = "C:\Users\Public\attachmentsreport.csv"
$DestinationLibraryFullPath = "/test/AttachmentsFromAtta"
-
+ ```
Examples of $DestinationLibraryFullPath:
e.g. "/sites/powie4/Destiny2/" where powie4 is the name of the site collection and Destiny2 is the name of the library
From 0de46882589b8095e6ec63f3773522397eb8f4b7 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 27 Aug 2020 19:05:39 +0300
Subject: [PATCH 114/312] Create README.md
---
.../Copy list attachments to a separate library/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Items Management/Attachments/Copy list attachments to a separate library/README.md
diff --git a/Items Management/Attachments/Copy list attachments to a separate library/README.md b/Items Management/Attachments/Copy list attachments to a separate library/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Items Management/Attachments/Copy list attachments to a separate library/README.md
@@ -0,0 +1 @@
+.
From 715866a62477e68a1124f9483ed20d29eca15f7d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 27 Aug 2020 19:06:14 +0300
Subject: [PATCH 115/312] Update README.md
---
.../README.md | 47 ++++++++++++++++++-
1 file changed, 46 insertions(+), 1 deletion(-)
diff --git a/Items Management/Attachments/Copy list attachments to a separate library/README.md b/Items Management/Attachments/Copy list attachments to a separate library/README.md
index 9c558e35..39764f7b 100644
--- a/Items Management/Attachments/Copy list attachments to a separate library/README.md
+++ b/Items Management/Attachments/Copy list attachments to a separate library/README.md
@@ -1 +1,46 @@
-.
+# Description
+The following script copies list attachments to another library within the same site.
+
+
+
+# Scenario:
+
+List with attachments:
+
+
+
+sometimes several attachments per item:
+
+
+
+The attachments are to be copied to another library:
+
+
+
+# Requirements
+The script requires SharePoint Online SDK.
+
+# How to use?
+1. Download and open the file.
+
+2. Enter correct paths to the SDK:
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+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"
+```
+3. Enter credentials and list data and save the file:
+
+```PowerShell
+Connect-SPOCSOM -Username "user@tenant.onmicrosoft.com" -Url "https://tenant.sharepoint.com/sites/powie4"
+
+ Get-SPOListItems -ListTitle withatt -IncludeAllProperties $true -Recursive -DestinationLibrary "/sites/powie4/Destiny2/" -Overwrite $true
+```
+ 4. Run it in Powershell.
+
+
+
+
+Enjoy and please share feedback!
+
From fb0da94191e68821239aa814d37774033fe8bd9c Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 27 Aug 2020 19:06:33 +0300
Subject: [PATCH 116/312] Update description.md
---
.../Copy list attachments to a separate library/description.md | 3 ---
1 file changed, 3 deletions(-)
diff --git a/Items Management/Attachments/Copy list attachments to a separate library/description.md b/Items Management/Attachments/Copy list attachments to a separate library/description.md
index c9e497d5..6280da17 100644
--- a/Items Management/Attachments/Copy list attachments to a separate library/description.md
+++ b/Items Management/Attachments/Copy list attachments to a separate library/description.md
@@ -43,6 +43,3 @@ Connect-SPOCSOM -Username "user@tenant.onmicrosoft.com" -Url "https://tenant.sha
Enjoy and please share feedback!
-
-Enjoy and please share feedback!
-
From b1c26b2cf8a3f383d4f84a1971281ef4d86308df Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 27 Aug 2020 19:07:13 +0300
Subject: [PATCH 117/312] Create README.md
---
.../README.md | 43 +++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 Items Management/Attachments/Delete all your list attachments (data loss involved)/README.md
diff --git a/Items Management/Attachments/Delete all your list attachments (data loss involved)/README.md b/Items Management/Attachments/Delete all your list attachments (data loss involved)/README.md
new file mode 100644
index 00000000..302b1fad
--- /dev/null
+++ b/Items Management/Attachments/Delete all your list attachments (data loss involved)/README.md
@@ -0,0 +1,43 @@
+Test the script before usage.
+
+
+
+Maybe other scripts will be more applicable to your requirements:
+
+Copy all SharePoint Online list item attachments to a SPO library
+
+Get the size of all attachments in SharePoint Online list
+
+List all attachments from SharePoint Online list to CSV file
+
+
+
+
+
+In order to use the script, you need to modify the downloaded file:
+
+PowerShell
+ for($k=0; $k -lt $itemAttachments.Count; $k++)
+ {
+ #deletes the attachment file. Uncomment it only if you are absolutely sure you want to lose this data.
+ #$itemAttachments[$k].DeleteObject()
+ try
+ {
+
+
+PowerShell
+# Paths to SDK. Please verify location on your computer.
+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"
+
+#Please enter your data
+$Username = "ana@etr56.onmicrosoft.com"
+$Url = "https://etr56.sharepoint.com"
+$ListTitle = "attatest"
+$CSVPath = "C:\Users\Public\attachmentsreport.csv"
+
+
+
+
+
+
From 1a900014631d5fdd3592ac00b2a5191e5e2f566a Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 27 Aug 2020 19:08:18 +0300
Subject: [PATCH 118/312] Update README.md
---
.../README.md | 23 +++++++------------
1 file changed, 8 insertions(+), 15 deletions(-)
diff --git a/Items Management/Attachments/Delete all your list attachments (data loss involved)/README.md b/Items Management/Attachments/Delete all your list attachments (data loss involved)/README.md
index 302b1fad..8d47f141 100644
--- a/Items Management/Attachments/Delete all your list attachments (data loss involved)/README.md
+++ b/Items Management/Attachments/Delete all your list attachments (data loss involved)/README.md
@@ -4,28 +4,26 @@ Test the script before usage.
Maybe other scripts will be more applicable to your requirements:
-Copy all SharePoint Online list item attachments to a SPO library
+ * Copy all SharePoint Online list item attachments to a SPO library
-Get the size of all attachments in SharePoint Online list
+ * Get the size of all attachments in SharePoint Online list
-List all attachments from SharePoint Online list to CSV file
+ * List all attachments from SharePoint Online list to CSV file
-
-
-
+
In order to use the script, you need to modify the downloaded file:
-PowerShell
+```PowerShell
for($k=0; $k -lt $itemAttachments.Count; $k++)
{
#deletes the attachment file. Uncomment it only if you are absolutely sure you want to lose this data.
#$itemAttachments[$k].DeleteObject()
try
{
-
+```
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
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"
@@ -35,9 +33,4 @@ $Username = "ana@etr56.onmicrosoft.com"
$Url = "https://etr56.sharepoint.com"
$ListTitle = "attatest"
$CSVPath = "C:\Users\Public\attachmentsreport.csv"
-
-
-
-
-
-
+ ```
From 0aa33a148d2c8ebc4ee3b7c906cb7c5beb529898 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 27 Aug 2020 19:09:19 +0300
Subject: [PATCH 119/312] Create README.md
---
.../README.md | 49 +++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644 Items Management/Attachments/Disable or enable attachments to list items/README.md
diff --git a/Items Management/Attachments/Disable or enable attachments to list items/README.md b/Items Management/Attachments/Disable or enable attachments to list items/README.md
new file mode 100644
index 00000000..6e93a62e
--- /dev/null
+++ b/Items Management/Attachments/Disable or enable attachments to list items/README.md
@@ -0,0 +1,49 @@
+Want to keep your lists tidy? Saving space?? This is a solution for you! Looking for a quick way to restore the option for all lists?
+**This is also a solution for you! :)**
+
+
+Want to keep your lists tidy? Saving space? Do you want to prevent users from adding unnecessary attachments to the list because their place belongs elsewhere?
+This is a solution for you!
+Or maybe you already disabled the feature? For some of the lists - for some not, and now you are looking for a quick way to restore the option for all lists?
+
+This is also a solution for you! :)
+
+
+
+
+
+
+**This is also a solution for you! :)**
+
+
+```Powershell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Insert the credentials and the name of the site and the desired setting: $true or $false
+$Username="trial@trialtrial123.onmicrosoft.com"
+$AdminPassword="Pass"
+$Url="https://trialtrial123.sharepoint.com/sites/teamsitewithlists"
+$Attachments=$false
+
+
+
+
+Set-SPOListsAttachments -Username $Username -AdminPassword $AdminPassword -Url $Url -Attachments $Attachments
+```
+
+
+For full description please refer here to the [Wiki Article](https://social.technet.microsoft.com/wiki/contents/articles/30024.sharepoint-online-disable-or-enable-attachments-to-list-items-using-powershell.aspx)
+
+
+
+
+Enjoy and please share feedback!
+
+**Related scripts**
+[Set direction of the reading order for a single list](https://gallery.technet.microsoft.com/office/Set-the-direction-of-the-f17ca66a)
+
+[Set-SPOList properties (module)](https://gallery.technet.microsoft.com/office/Set-SPOList-properties-9d16f2ba)
+
+[Allow or disallow your users to create folders in SPO lists](https://gallery.technet.microsoft.com/scriptcenter/Allow-or-disallow-your-20f7b44a)
From e09416817ca1789992d2c6d46516a0af886ebac6 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 27 Aug 2020 19:09:43 +0300
Subject: [PATCH 120/312] Update description.md
---
.../Disable or enable attachments to list items/description.md | 2 --
1 file changed, 2 deletions(-)
diff --git a/Items Management/Attachments/Disable or enable attachments to list items/description.md b/Items Management/Attachments/Disable or enable attachments to list items/description.md
index 6e93a62e..e6845432 100644
--- a/Items Management/Attachments/Disable or enable attachments to list items/description.md
+++ b/Items Management/Attachments/Disable or enable attachments to list items/description.md
@@ -9,8 +9,6 @@ Or maybe you already disabled the feature? For some of the lists - for some not,
This is also a solution for you! :)
-
-
**This is also a solution for you! :)**
From 519a57420d50bfc21636c2cca704a48c484d023e Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 28 Aug 2020 15:44:52 +0300
Subject: [PATCH 121/312] Create README.md
---
.../README.md | 55 +++++++++++++++++++
1 file changed, 55 insertions(+)
create mode 100644 File Management/Add thousands of documents to your SPO library/README.md
diff --git a/File Management/Add thousands of documents to your SPO library/README.md b/File Management/Add thousands of documents to your SPO library/README.md
new file mode 100644
index 00000000..0bf3a730
--- /dev/null
+++ b/File Management/Add thousands of documents to your SPO library/README.md
@@ -0,0 +1,55 @@
+The application is mainly for SharePoint Online test environments.
+
+It creates mock data for a library of your choice so that you can test synchronization and SharePoint Online performance.
+
+It creates:
+
+-Word Documents with random content from Latin texts
+
+-Excel Spreadsheets with random number of Sheets but no content
+
+-PowerPoint presentations
+
+-files that will be corrupt (as said above, for testing purposes)
+
+
+
+You can create unlimited* number of items. Of course the more items you choose, the longer it will run. Depending on your environment, it creates 100 documents per 20seconds.
+
+
+
+Works for OneDrive for Business as well.
+
+
+
+
+ The code wouldn't exist without:
+
+http://msdn.microsoft.com/en-us/library/office/cc850834(v=office.15).aspx
+
+http://sharepoint.stackexchange.com/questions/121904/create-a-document-in-sharepoint-online-using-csom
+
+
+
+
+
+ *SPO view threshold 5000 items
+SPO sync limit : 20 000 items
+Feel free to create more if you want to test the errrors.
+EDIT
+It seems like the application is not completely stable. In a given environment, a given tenant may give an error. Another tenant will not. The error tenant will run in a different environment. It seems to be connected to mapped network drives. I will add some error handling and will upload a more stable version.
+EDIT2
+Uploaded a corrected version. Will remove the edits when I have confirmation that the version is stable on all tenants.
+
+
+
+
+
+
+
+
+
+
+
+
+Enjoy and please share feedback!
From 5b514cc705d7e94f3e3ffbec254c222838912017 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 28 Aug 2020 15:46:36 +0300
Subject: [PATCH 122/312] Create README.md
---
.../Audit SharePoint Online folder structure to XML/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
diff --git a/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md b/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
@@ -0,0 +1 @@
+.
From 964f325b5288332b9161bf66e4dfa25d8131e4f0 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 28 Aug 2020 15:47:10 +0300
Subject: [PATCH 123/312] Update description.md
---
.../description.md | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/description.md b/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/description.md
index 19bc143f..e67acbac 100644
--- a/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/description.md
+++ b/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/description.md
@@ -24,7 +24,7 @@ Sample results:
IN order to use the script, you need to enter your data at the bottom of the file:
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
@@ -38,6 +38,4 @@ $libraryTitle="test"
$script:XMLPath = "C:\Users\Public\foolders2.xml"
#Enter your data above!
-
-
-
+ ```
From f4cbe61348f90d6ccebd6b03b561d37647e2953b Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 28 Aug 2020 15:47:12 +0300
Subject: [PATCH 124/312] Update README.md
---
.../README.md | 44 ++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)
diff --git a/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md b/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
index 9c558e35..bb515d36 100644
--- a/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
+++ b/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
@@ -1 +1,43 @@
-.
+SharePoint Online has a lot of options allowing you to organize your files. Some of them really amazing. Folders aren't necessarily one of them.
+
+But once you have used them and your users happily created unstructured, repeating, unrecoverable mess, you may want to audit them and find out if you can reorganize or save the day in some other way.
+
+
+
+This Powershell script allows you to investigate into your folder structure and creates an XML file as a report. It adds name, number of subfolders, itemcount and serverrelativeurl as attributes. You can remove some or all of these attributes by modifying the script.
+
+There is also another, very similar version without the attributes available here: Audit folder structure to XML.
+
+Sample results:
+
+
+
+
+
+
+
+
+
+
+
+
+
+IN order to use the script, you need to enter your data at the bottom of the file:
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+
+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"
+
+
+# Enter your data
+$admin="ana@etr56.onmicrosoft.com"
+$site="https://etr56.sharepoint.com"
+$libraryTitle="test"
+$script:XMLPath = "C:\Users\Public\foolders2.xml"
+#Enter your data above!
+
+ ```
+
+
From 5d28e078dd62c248e9917977fd66dbe6eeb7b32d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 28 Aug 2020 15:48:44 +0300
Subject: [PATCH 125/312] Create README.md
---
.../README.md | 228 ++++++++++++++++++
1 file changed, 228 insertions(+)
create mode 100644 Workflows/Get workflow report for a site collection/README.md
diff --git a/Workflows/Get workflow report for a site collection/README.md b/Workflows/Get workflow report for a site collection/README.md
new file mode 100644
index 00000000..75d3f32e
--- /dev/null
+++ b/Workflows/Get workflow report for a site collection/README.md
@@ -0,0 +1,228 @@
+Powershell script. Creates a .csv file with a report on all workflows in a site collection.
+
+
+
+Before you run the script, open .ps1 file and edit all necessary information:
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Insert the credentials and the name of the site collection and the path where the report should be saved.
+$Username="2190@tenant.onmicrosoft.com"
+$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
+$Url="https://tenant.sharepoint.com"
+$CSVpath="C:\testpath.csv"
+```
+
+
+As the script runs you will see how many workflows each list has:
+
+
+
+
+
+
+
+
+
+
+
+### Sample report
+
+
+
+
+
+
+
+| #TYPE Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+| Site Url |
+List Title |
+AllowManual |
+AssociationData |
+AutoStartChange |
+AutoStartCreate |
+BaseId |
+Created |
+Description |
+Enabled |
+HistoryListTitle |
+Id |
+InstantiationUrl |
+InternalName |
+IsDeclarative |
+ListId |
+Modified |
+Name |
+TaskListTitle |
+WebId |
+Context |
+Tag |
+Path |
+ObjectVersion |
+ServerObjectIsNull |
+TypedObject |
+
+
+| https://tenant.sharepoint.com |
+Documents |
+True |
+<dfs:myFields xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dms="http://schemas.microsoft.com/office/2009/documentManagement/types" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:q="http://schemas.microsoft.com/office/infopath/2009/WSSList/queryFields"
+ xmlns:d="http://schemas.microsoft.com/office/infopath/2009/WSSList/dataFields" xmlns:ma="http://schemas.microsoft.com/office/2009/metadata/properties/metaAttributes" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dfs:queryFields></dfs:queryFields><dfs:dataFields><d:SharePointListItem_RW><d:Approvers><d:Assignment><d:Assignee><pc:Person><pc:DisplayName>Arleta
+ Wanat</pc:DisplayName><pc:AccountId>i:0#.f|membership|2190@tenant.onmicrosoft.com</pc:AccountId><pc:AccountType>User</pc:AccountType></pc:Person></d:Assignee><d:Stage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ /><d:AssignmentType>Serial</d:AssignmentType></d:Assignment><d:Assignment><d:Assignee><pc:Person><pc:DisplayName>Arleta Wanat</pc:DisplayName><pc:AccountId>i:0#.f|membership|2190@tenant.onmicrosoft.com</pc:AccountId><pc:AccountType>User</pc:AccountType></pc:Person></d:Assignee><d:Stage
+ xsi:nil="true" /><d:AssignmentType>Serial</d:AssignmentType></d:Assignment></d:Approvers><d:ExpandGroups>true</d:ExpandGroups><d:NotificationMessage>hf</d:NotificationMessage><d:DueDateforAllTasks xsi:nil="true"
+ /><d:DurationforSerialTasks xsi:nil="true" /><d:DurationUnits>Day</d:DurationUnits><d:CC /><d:CancelonRejection>false</d:CancelonRejection><d:CancelonChange>false</d:CancelonChange><d:EnableContentApproval>false</d:EnableContentApproval></d:SharePointListItem_RW></dfs:dataFields></dfs:myFields> |
+False |
+False |
+8ad4d8f0-93a7-4941-9657-cf3706f00409 |
+######## |
+Routes a document for approval. Approvers can approve or reject the document, reassign the approval task, or request changes to the document. |
+True |
+Workflow History |
+e76e75fe-1622-4c26-a5fa-7e6178c61ae9 |
+_layouts/15/IniWrkflIP.aspx |
+oo
+
+<Cfg.d3a8e0e9_03da_4f32_99c9_f778c1d5d560.4.512.> |
+True |
+19e3d565-15c5-4a89-b95a-626b48ff0bcc |
+######## |
+oo |
+Task List with 14 elements |
+b05b85f0-c7fe-4646-ac41-4fde2db44f3b |
+Microsoft.SharePoint.Client.ClientContext |
+Microsoft.SharePoint.Client.ObjectPathIdentity |
+False |
+Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
+
+
+| https://tenant.sharepoint.com/nowanowa |
+Site Pages |
+True |
+ |
+True |
+True |
+dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
+######## |
+Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
+True |
+Workflow History |
+139a534e-abe6-4862-b19e-895eac1e0cbc |
+mjyf |
+False |
+c6e865a5-b992-4a51-ba25-9ecd76ba336f |
+######## |
+mjyf |
+Tasks |
+0a2bec62-9fd7-44a4-b1bb-eacc553b3cd2 |
+Microsoft.SharePoint.Client.ClientContext |
+Microsoft.SharePoint.Client.ObjectPathIdentity |
+False |
+Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
+
+
+| https://tenant.sharepoint.com/newSiteCollection |
+Documents |
+True |
+ |
+True |
+True |
+dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
+######## |
+Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
+True |
+Workflow History |
+e9dd54d1-27db-4ca9-8a84-6266ab3e824f |
+app2 |
+False |
+62a23f97-fe21-4142-b485-9805474162b1 |
+######## |
+app2 |
+Tasks |
+051be499-7633-4837-a3d6-68fc68ca0bcb |
+Microsoft.SharePoint.Client.ClientContext |
+Microsoft.SharePoint.Client.ObjectPathIdentity |
+False |
+Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
+
+
+| https://tenant.sharepoint.com/vs20072153 |
+Site Pages |
+True |
+ |
+True |
+True |
+dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
+######## |
+Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
+True |
+Workflow History |
+c7cd1221-4dd7-4e0c-953b-aee71519116b |
+uoiio |
+False |
+545e45b7-6c2d-4378-9d23-cd08acf7ce19 |
+######## |
+uoiio |
+Tasks |
+d7275f5e-6ec5-4f67-a817-dc3d694027ed |
+Microsoft.SharePoint.Client.ClientContext |
+Microsoft.SharePoint.Client.ObjectPathIdentity |
+False |
+Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
+
+
+| https://tenant.sharepoint.com/TeamsitewithLists |
+Generic List With GeolocationColumn |
+False |
+ |
+True |
+True |
+dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
+######## |
+Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
+True |
+Workflow History |
+c0d62395-f5b7-4f90-9d73-b7456017e00c |
+approval |
+False |
+d21515ce-2ec4-43c2-8f43-3150520b32f0 |
+######## |
+approval |
+Tasks list |
+9a105d7e-03c9-4561-acbf-5226c71f9bab |
+Microsoft.SharePoint.Client.ClientContext |
+Microsoft.SharePoint.Client.ObjectPathIdentity |
+False |
+Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
+
+
+
+
From ee2fa2ce5c2349d4f3c73c2aeb35239e7a2c2443 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 28 Aug 2020 15:49:39 +0300
Subject: [PATCH 126/312] Update README.md
---
.../Audit SharePoint Online folder structure to XML/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md b/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
index bb515d36..62b4c990 100644
--- a/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
+++ b/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
@@ -11,7 +11,7 @@ There is also another, very similar version without the attributes available her
Sample results:
-
+
From 9bafc6d46e85fca6c9b3e5deee2edc33d9e4baff Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 28 Aug 2020 15:51:30 +0300
Subject: [PATCH 127/312] Update README.md
---
.../Audit SharePoint Online folder structure to XML/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md b/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
index 62b4c990..64a4a04e 100644
--- a/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
+++ b/File Management/Audit folder structure/Audit SharePoint Online folder structure to XML/README.md
@@ -11,7 +11,7 @@ There is also another, very similar version without the attributes available her
Sample results:
-
+
From 366c6bf30ce4fea4617c88d9cc8a104cd8b1b299 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 28 Aug 2020 15:54:03 +0300
Subject: [PATCH 128/312] Create README.md
---
.../README.md | 39 +++++++++++++++++++
1 file changed, 39 insertions(+)
create mode 100644 File Management/Audit folder structure/Audit Sharepoint folder structure to XML/README.md
diff --git a/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/README.md b/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/README.md
new file mode 100644
index 00000000..a0b176ba
--- /dev/null
+++ b/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/README.md
@@ -0,0 +1,39 @@
+SharePoint Server has a lot of options allowing you to organize your files. Some of them really amazing. Folders aren't necessarily one of them.
+
+But once you have used them and your users happily created unstructured, repeating, unrecoverable mess, you may want to audit them and find out if you can reorganize or save the day in some other way.
+
+The audit may come in handy during migration, upgrades or company restructuring.
+
+
+
+This Powershell script allows you to investigate into your folder structure in a single library and creates an XML file as a report.
+
+
+
+
+
+
+
+In order to use the script you need to modify the following lines:
+
+
+
+
+
+PowerShell
+# Paths to SDK. Please verify location on your computer.
+
+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"
+
+
+# Enter your data
+$admin="CORPO\Admini5"
+$site="https://etr56.corpo.com"
+$libraryTitle="test"
+$script:XMLPath = "C:\Users\Public\foldersAudit.xml"
+#Enter your data above!
+
+
+
+
From a47d3f368e982fae5f5ae495168fbe7725e6e3cb Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 28 Aug 2020 15:54:20 +0300
Subject: [PATCH 129/312] Update README.md
---
.../Audit Sharepoint folder structure to XML/README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/README.md b/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/README.md
index a0b176ba..e0ca0858 100644
--- a/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/README.md
+++ b/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/README.md
@@ -20,7 +20,7 @@ In order to use the script you need to modify the following lines:
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
@@ -34,6 +34,6 @@ $libraryTitle="test"
$script:XMLPath = "C:\Users\Public\foldersAudit.xml"
#Enter your data above!
-
+ ```
From 7260e75b0f930cecbfbf1fc386fd7bfca22e5375 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 28 Aug 2020 15:54:32 +0300
Subject: [PATCH 130/312] Update description.md
---
.../Audit Sharepoint folder structure to XML/description.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/description.md b/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/description.md
index a0b176ba..d38127c4 100644
--- a/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/description.md
+++ b/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/description.md
@@ -20,7 +20,7 @@ In order to use the script you need to modify the following lines:
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
@@ -34,6 +34,6 @@ $libraryTitle="test"
$script:XMLPath = "C:\Users\Public\foldersAudit.xml"
#Enter your data above!
-
+```
From 6d44e1171d11f133a117199dbfd7bae3a1798456 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 29 Aug 2020 21:26:59 +0300
Subject: [PATCH 131/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/README.md
diff --git a/Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/README.md b/Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/README.md
@@ -0,0 +1 @@
+.
From 326e6c1aa702369659ba062efdbb7e09eee562c3 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 29 Aug 2020 21:29:48 +0300
Subject: [PATCH 132/312] Update README.md
---
.../README.md | 20 ++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/README.md b/Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/README.md
index 9c558e35..9c0b4845 100644
--- a/Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/README.md
+++ b/Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/README.md
@@ -1 +1,19 @@
-.
+Powershell module with Get-SPOObject cmdlet to retrieve SharePoint Online objects, such as
+
+lists
+content types
+fields/columns
+alerts
+event receivers
+features
+site groups
+users
+workflow associations
+The cmdlet in the module offers help with choosing the objects. Just use TAB after -object parameter and you will see possible options. That also means that the retrieval is limited to those options. If you are looking for a less restricted solution, please check out:
+
+[Module for getting SharePoint Online objects with Powershell](https://github.com/PowershellScripts/SharePointOnline-ScriptSamples/tree/readmeBranch/Getting%20SPO%20objects%20with%20REST/Module%20for%20getting%20SharePoint%20Online%20objects%20with%20Powershell)
+
+and
+
+[Module for getting SharePoint Online objects with Powershell (unrestricted)](https://github.com/PowershellScripts/SharePointOnline-ScriptSamples/tree/readmeBranch/Getting%20SPO%20objects%20with%20REST/Unrestricted%20Module)
+
From a0820c5dc89fdba81f7b871855b46f9a63fd834d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 29 Aug 2020 21:30:06 +0300
Subject: [PATCH 133/312] Update description.md
---
.../description.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/description.md b/Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/description.md
index 1b1d1b7c..9c0b4845 100644
--- a/Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/description.md
+++ b/Getting SPO objects with REST/Module for getting SharePoint objects with Powershell (limited)/description.md
@@ -11,9 +11,9 @@ users
workflow associations
The cmdlet in the module offers help with choosing the objects. Just use TAB after -object parameter and you will see possible options. That also means that the retrieval is limited to those options. If you are looking for a less restricted solution, please check out:
-Module for getting SharePoint Online objects with Powershell
+[Module for getting SharePoint Online objects with Powershell](https://github.com/PowershellScripts/SharePointOnline-ScriptSamples/tree/readmeBranch/Getting%20SPO%20objects%20with%20REST/Module%20for%20getting%20SharePoint%20Online%20objects%20with%20Powershell)
and
-Module for getting SharePoint Online objects with Powershell (unrestricted)
+[Module for getting SharePoint Online objects with Powershell (unrestricted)](https://github.com/PowershellScripts/SharePointOnline-ScriptSamples/tree/readmeBranch/Getting%20SPO%20objects%20with%20REST/Unrestricted%20Module)
From 1e29035ab4967ebceab3e08cd4cbdb17e18b01d5 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 30 Aug 2020 01:18:46 +0300
Subject: [PATCH 134/312] Update README.md
---
.../README.md | 106 +++++++++++++++++-
1 file changed, 105 insertions(+), 1 deletion(-)
diff --git a/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md b/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
index 9c558e35..e1ee1f26 100644
--- a/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
+++ b/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
@@ -1 +1,105 @@
-.
+Short script to retrieve SharePoint Online objects, such as
+
+lists
+content types
+fields/columns
+alerts
+event receivers
+features
+site groups
+users
+workflow associations
+
+
+
+
+How does it work?
+Open the file, enter your tenant's data:
+
+
+
+PowerShell
+
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="t@t321.onmicrosoft.com"
+$Url="https://t321.sharepoint.com/standard"
+$object="lists"
+
+
+
+$object refers to object you want to retrieve. Example objects are:
+
+lists
+contenttypes
+availablefields
+alerts
+eventreceivers
+features
+sitegroups
+siteusers
+workflowassociations
+but you can also use anything that would work with the REST api in the browser, such as :
+
+lists/getbytitle('biblioteka')
+"" (empty string to retrieve the web object properties)
+allproperties
+lists/getbytitle('biblioteka')/files
+
+
+You will be asked for password during execution. Do not enter your password in the file.
+
+
+
+Then you can modify the last cmdlet:
+
+
+
+PowerShell
+Get-SPOObject -Username $username -Url $Url -password $AdminPassword -object $object
+
+
+
+To retrieve whatever you need in a friendly and familiar Powershell fashion, e.g.:
+
+
+
+PowerShell
+Get-SPOObject -Username $username -Url $Url -password $AdminPassword -object "lists" | select title
+
+PowerShell
+Get-SPOObject -Username t@t321.onmicrosoft.com -password $password -url https://t321.sharepoint.
+com/standard -object "lists/getbytitle('biblioteka')/files" | where {$_.CreatedBy.Name -eq "Ana Trial"} | select Name,
+CreatedBy
+
+
+
+
+
+The script can serve to pull all kinds of data from SharePoint Online in an admin-friendly Powershell way and can help deliver this data in a report form:
+
+
+
+```PowerShell
+Get-SPOObject -Username t@t321.onmicrosoft.com -password $password -url https://t321.sharepoint.
+com/standard -object "lists/getbytitle('biblioteka')/files" | where {$_.CreatedBy.Name -eq "Ana Trial"} | export-csv c:\MyReport.csv
+```
+
+
+
+
+
+
+If you plan on using it more often, I recommend a module with a cmdlet that serves the same purpose. After importing the module, a cmdlet can be reused multiple times directly from Shell and is generally faster than executing script every time we need to pull data.
+
+You can find the REST module in 3 versions:
+
+- one with suggestions, limited but helpful when you are starting and don't know what your options are
+
+- 2nd for users who have idea about REST and will be able to define their objects within web without any hints (most recommended)
+
+- 3rd one free-style allowing you to pull anything under /_api/ so not only web but also site objects
+
+
+
+
From 4b2a7768807351695d91edbd8f7e3b9053f82708 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 30 Aug 2020 01:19:44 +0300
Subject: [PATCH 135/312] Update README.md
---
.../README.md | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md b/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
index e1ee1f26..98ed35e3 100644
--- a/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
+++ b/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
@@ -55,23 +55,22 @@ Then you can modify the last cmdlet:
-PowerShell
+```PowerShell
Get-SPOObject -Username $username -Url $Url -password $AdminPassword -object $object
-
+ ```
To retrieve whatever you need in a friendly and familiar Powershell fashion, e.g.:
-PowerShell
+```PowerShell
Get-SPOObject -Username $username -Url $Url -password $AdminPassword -object "lists" | select title
-
-PowerShell
+ ```
+```PowerShell
Get-SPOObject -Username t@t321.onmicrosoft.com -password $password -url https://t321.sharepoint.
-com/standard -object "lists/getbytitle('biblioteka')/files" | where {$_.CreatedBy.Name -eq "Ana Trial"} | select Name,
-CreatedBy
-
+com/standard -object "lists/getbytitle('biblioteka')/files" | where {$_.CreatedBy.Name -eq "Ana Trial"} | select Name, CreatedBy
+ ```
@@ -81,8 +80,7 @@ The script can serve to pull all kinds of data from SharePoint Online in an admi
```PowerShell
-Get-SPOObject -Username t@t321.onmicrosoft.com -password $password -url https://t321.sharepoint.
-com/standard -object "lists/getbytitle('biblioteka')/files" | where {$_.CreatedBy.Name -eq "Ana Trial"} | export-csv c:\MyReport.csv
+Get-SPOObject -Username t@t321.onmicrosoft.com -password $password -url https://t321.sharepoint.com/standard -object "lists/getbytitle('biblioteka')/files" | where {$_.CreatedBy.Name -eq "Ana Trial"} | export-csv c:\MyReport.csv
```
From 13981245647a10949804dd4bfed34eb7735fca89 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 30 Aug 2020 01:20:33 +0300
Subject: [PATCH 136/312] Update README.md
---
.../Script to get SharePoint objects with REST/README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md b/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
index 98ed35e3..7e000a8e 100644
--- a/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
+++ b/Getting SPO objects with REST/Script to get SharePoint objects with REST/README.md
@@ -18,14 +18,14 @@ Open the file, enter your tenant's data:
-PowerShell
+```PowerShell
#Enter the data
$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
$username="t@t321.onmicrosoft.com"
$Url="https://t321.sharepoint.com/standard"
$object="lists"
-
+ ```
$object refers to object you want to retrieve. Example objects are:
From 7bd9aa7971756757b0c2961e3b59ab5e904d8d7d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Tue, 8 Sep 2020 20:28:41 +0300
Subject: [PATCH 137/312] Create README.md
---
File Management/Get SPO Files from a folder/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 File Management/Get SPO Files from a folder/README.md
diff --git a/File Management/Get SPO Files from a folder/README.md b/File Management/Get SPO Files from a folder/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/File Management/Get SPO Files from a folder/README.md
@@ -0,0 +1 @@
+.
From c44dc6668661e886bc17ac341861797d5928b31f Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 9 Sep 2020 21:46:12 +0300
Subject: [PATCH 138/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/README.md
diff --git a/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/README.md b/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/README.md
@@ -0,0 +1 @@
+.
From 6c816bdef34e5b108968b991982b91000e66fd5e Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 9 Sep 2020 21:47:56 +0300
Subject: [PATCH 139/312] Update description.md
---
.../description.md | 28 +++++++++----------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/description.md b/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/description.md
index e4bc0298..87686426 100644
--- a/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/description.md
+++ b/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/description.md
@@ -2,33 +2,33 @@ A module with new cmdlets for Taxonomy written in an easily-modifiable Powershel
-### The cmdlets include:
+ ### The cmdlets include:
-### New-SPOTerm
+ New-SPOTerm
-### Get-SPOTermGroups
+ Get-SPOTermGroups
-### Get-SPOTermSets
+ Get-SPOTermSets
-### Get-SPOTermStore
+ Get-SPOTermStore
-### Get-SPOHashTagsTermSet
+ Get-SPOHashTagsTermSet
-### Get-SpoHashTagsTerms
+ Get-SpoHashTagsTerms
-### Get-SPOKeyWordsTermSet
+ Get-SPOKeyWordsTermSet
-### New-SPOTermGroup
+ New-SPOTermGroup
-### Set-SPOTermGroup
+ Set-SPOTermGroup
-### New-SPOTermSet
+ New-SPOTermSet
-### Set-SPOTermSet
+ Set-SPOTermSet
-### Get-SPOTerm
+ Get-SPOTerm
-### Connect-SPOCSOM
+ Connect-SPOCSOM
From 318ce67416e0aff4553b9ddc4bf0e90cb46bb55c Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 9 Sep 2020 21:48:18 +0300
Subject: [PATCH 140/312] Update README.md
---
.../README.md | 94 ++++++++++++++++++-
1 file changed, 93 insertions(+), 1 deletion(-)
diff --git a/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/README.md b/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/README.md
index 9c558e35..87686426 100644
--- a/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/README.md
+++ b/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/README.md
@@ -1 +1,93 @@
-.
+A module with new cmdlets for Taxonomy written in an easily-modifiable Powershell file
+
+
+
+ ### The cmdlets include:
+
+ New-SPOTerm
+
+ Get-SPOTermGroups
+
+ Get-SPOTermSets
+
+ Get-SPOTermStore
+
+ Get-SPOHashTagsTermSet
+
+ Get-SpoHashTagsTerms
+
+ Get-SPOKeyWordsTermSet
+
+ New-SPOTermGroup
+
+ Set-SPOTermGroup
+
+ New-SPOTermSet
+
+ Set-SPOTermSet
+
+ Get-SPOTerm
+
+ Connect-SPOCSOM
+
+
+
+Exact syntax and cmdlet descriptions with examples will be available here at [SharePoint Online SPOMod cmdlets & resources.](https://social.technet.microsoft.com/wiki/contents/articles/32334.sharepoint-online-spomod-cmdlets-resources.aspx)
+
+One of the cmdlets:
+
+
+
+```PowerShell
+ function New-SPOTermSet
+ {
+ param(
+ [Parameter(ParameterSetName="ByName",Mandatory=$true)]
+ [string]$TermGroupName="",
+ [Parameter(ParameterSetName="ByID",Mandatory=$true)]
+ [string]$TermGroupID="",
+ [Parameter(ParameterSetName="ByGroup",Mandatory=$true,ValueFromPipeline=$true)]
+ $TermGroup="",
+ [Parameter(Mandatory=$true)]
+ [string]$TermSetName,
+ [Parameter(Mandatory=$false)]
+ [int]$LanguageID=1033,
+ [Parameter(Mandatory=$false)]
+ $GUID=""
+
+ )
+
+ BEGIN{
+ $session = [Microsoft.SharePoint.Client.Taxonomy.TaxonomySession]::GetTaxonomySession($ctx)
+ $ctx.Load($session)
+ $ctx.ExecuteQuery()
+
+ }
+ PROCESS{
+ $termstore = $session.GetDefaultSiteCollectionTermStore()
+ if($TermGroupName -ne "")
+ { $group=$termstore.Groups.GetByName($TermGroupName)}
+ elseif($TermGroupID -ne "")
+ { $group=$termstore.Groups.GetById($TermGroupID)}
+ elseif($group -ne "")
+ {
+ $group=$TermGroup
+ }
+ else
+ {
+ Write-Host "Could not retrieve the group. Missing parameters"
+ }
+
+ $ctx.Load($group)
+ $ctx.Load($group.TermSets)
+ $ctx.ExecuteQuery()
+ if($GUID -eq ""){$GUID = [guid]::NewGuid()}
+
+ $termSet=$group.CreateTermSet($TermSetName, $GUID, $LanguageID)
+ $ctx.ExecuteQuery()
+ return $termset
+ }
+
+
+ }
+ ```
From 47a1790a9053a174adddde0130c976d60eacac06 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 10 Sep 2020 23:54:29 +0300
Subject: [PATCH 141/312] Update README.md
---
.../Get SPO Files from a folder/README.md | 99 ++++++++++++++++++-
1 file changed, 98 insertions(+), 1 deletion(-)
diff --git a/File Management/Get SPO Files from a folder/README.md b/File Management/Get SPO Files from a folder/README.md
index 9c558e35..9ee52858 100644
--- a/File Management/Get SPO Files from a folder/README.md
+++ b/File Management/Get SPO Files from a folder/README.md
@@ -1 +1,98 @@
-.
+Powershell Module with a new cmdlet:
+
+
+
+Get-SPOFolderFiles
+
+Retrieves all files from a folder. Not recursive.
+
+
+
+Parameters
+
+The cmdlet is using the following parameters:
+
+```powershell
+[string]$Username
+```
+The string specifies admin of the site
+
+```powershell
+[string]$Url
+```
+Specifies the url of the parent site
+
+```powershell
+[string]$AdminPassword
+```
+Admin's password
+
+```powershell
+[string]$ServerRelativeUrl
+```
+Specifies the relative url of the folder, eg. "/Library/FolderName"
+
+
+
+Examples
+
+Get all files from a folder and their properties
+```powershell
+Get-SPOFolderFiles -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com -AdminPassword Pass -ServerRelativeUrl "/chc1/fff"
+```
+
+
+
+
+
+---
+Get all files from a folder and list their names and dates of creation
+```powershell
+Get-SPOFolderFiles -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com -AdminPassword Pass -ServerRelativeUrl "/chc1/fff" | select name, timecreated
+```
+
+
+
+
+---
+Get all files from a folder and export their names and dates of creation to a CSV file
+```powershell
+Get-SPOFolderFiles -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com -AdminPassword Pass -ServerRelativeUrl "/chc1/fff" | select name, timecreated | export-csv c:\filename.csv
+```
+
+
+
+
+
+
+
+---
+If you want to get all files from all the folders, you can use Get-SPOFolder cmdlet to retrieve the folders and then for each folder retrieve the files.
+
+
+
+
+
+
+
+Requirements
+
+
+
+The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
+
+
+
+```powershell
+# Paths to SDK. Please verify location on your computer.
+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" ```
+```
+
+
+
+
+
+
+
+Enjoy and please share feedback!
From 731ae7498cd5d324779e708c4a0db720321f2498 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Sep 2020 21:41:21 +0300
Subject: [PATCH 142/312] Create README.md
---
.../Break inheritance for all SPO lists in a site/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Break inheritance for all SPO lists in a site/README.md
diff --git a/Lists and Libraries Management/Break inheritance for all SPO lists in a site/README.md b/Lists and Libraries Management/Break inheritance for all SPO lists in a site/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Break inheritance for all SPO lists in a site/README.md
@@ -0,0 +1 @@
+.
From b7bf6810967026a849d96ab7405476bf6be474da Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:20:56 +0200
Subject: [PATCH 143/312] Update README.md
---
Workflows/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Workflows/README.md b/Workflows/README.md
index 9c558e35..c4f3c476 100644
--- a/Workflows/README.md
+++ b/Workflows/README.md
@@ -1 +1 @@
-.
+Scripts dealing with SharePoint workflows
From d9f7d4d6c81fcc36d30ca5f72c59557bb2851a60 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:21:38 +0200
Subject: [PATCH 144/312] Delete description.md
---
.../description.md | 228 ------------------
1 file changed, 228 deletions(-)
delete mode 100644 Workflows/Get workflow report for a site collection/description.md
diff --git a/Workflows/Get workflow report for a site collection/description.md b/Workflows/Get workflow report for a site collection/description.md
deleted file mode 100644
index 75d3f32e..00000000
--- a/Workflows/Get workflow report for a site collection/description.md
+++ /dev/null
@@ -1,228 +0,0 @@
-Powershell script. Creates a .csv file with a report on all workflows in a site collection.
-
-
-
-Before you run the script, open .ps1 file and edit all necessary information:
-
-```PowerShell
-# Paths to SDK. Please verify location on your computer.
-Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
-Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
-
-# Insert the credentials and the name of the site collection and the path where the report should be saved.
-$Username="2190@tenant.onmicrosoft.com"
-$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
-$Url="https://tenant.sharepoint.com"
-$CSVpath="C:\testpath.csv"
-```
-
-
-As the script runs you will see how many workflows each list has:
-
-
-
-
-
-
-
-
-
-
-
-### Sample report
-
-
-
-
-
-
-
-| #TYPE Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
-
-
-| Site Url |
-List Title |
-AllowManual |
-AssociationData |
-AutoStartChange |
-AutoStartCreate |
-BaseId |
-Created |
-Description |
-Enabled |
-HistoryListTitle |
-Id |
-InstantiationUrl |
-InternalName |
-IsDeclarative |
-ListId |
-Modified |
-Name |
-TaskListTitle |
-WebId |
-Context |
-Tag |
-Path |
-ObjectVersion |
-ServerObjectIsNull |
-TypedObject |
-
-
-| https://tenant.sharepoint.com |
-Documents |
-True |
-<dfs:myFields xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dms="http://schemas.microsoft.com/office/2009/documentManagement/types" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:q="http://schemas.microsoft.com/office/infopath/2009/WSSList/queryFields"
- xmlns:d="http://schemas.microsoft.com/office/infopath/2009/WSSList/dataFields" xmlns:ma="http://schemas.microsoft.com/office/2009/metadata/properties/metaAttributes" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dfs:queryFields></dfs:queryFields><dfs:dataFields><d:SharePointListItem_RW><d:Approvers><d:Assignment><d:Assignee><pc:Person><pc:DisplayName>Arleta
- Wanat</pc:DisplayName><pc:AccountId>i:0#.f|membership|2190@tenant.onmicrosoft.com</pc:AccountId><pc:AccountType>User</pc:AccountType></pc:Person></d:Assignee><d:Stage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- /><d:AssignmentType>Serial</d:AssignmentType></d:Assignment><d:Assignment><d:Assignee><pc:Person><pc:DisplayName>Arleta Wanat</pc:DisplayName><pc:AccountId>i:0#.f|membership|2190@tenant.onmicrosoft.com</pc:AccountId><pc:AccountType>User</pc:AccountType></pc:Person></d:Assignee><d:Stage
- xsi:nil="true" /><d:AssignmentType>Serial</d:AssignmentType></d:Assignment></d:Approvers><d:ExpandGroups>true</d:ExpandGroups><d:NotificationMessage>hf</d:NotificationMessage><d:DueDateforAllTasks xsi:nil="true"
- /><d:DurationforSerialTasks xsi:nil="true" /><d:DurationUnits>Day</d:DurationUnits><d:CC /><d:CancelonRejection>false</d:CancelonRejection><d:CancelonChange>false</d:CancelonChange><d:EnableContentApproval>false</d:EnableContentApproval></d:SharePointListItem_RW></dfs:dataFields></dfs:myFields> |
-False |
-False |
-8ad4d8f0-93a7-4941-9657-cf3706f00409 |
-######## |
-Routes a document for approval. Approvers can approve or reject the document, reassign the approval task, or request changes to the document. |
-True |
-Workflow History |
-e76e75fe-1622-4c26-a5fa-7e6178c61ae9 |
-_layouts/15/IniWrkflIP.aspx |
-oo
-
-<Cfg.d3a8e0e9_03da_4f32_99c9_f778c1d5d560.4.512.> |
-True |
-19e3d565-15c5-4a89-b95a-626b48ff0bcc |
-######## |
-oo |
-Task List with 14 elements |
-b05b85f0-c7fe-4646-ac41-4fde2db44f3b |
-Microsoft.SharePoint.Client.ClientContext |
-Microsoft.SharePoint.Client.ObjectPathIdentity |
-False |
-Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
-
-
-| https://tenant.sharepoint.com/nowanowa |
-Site Pages |
-True |
- |
-True |
-True |
-dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
-######## |
-Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
-True |
-Workflow History |
-139a534e-abe6-4862-b19e-895eac1e0cbc |
-mjyf |
-False |
-c6e865a5-b992-4a51-ba25-9ecd76ba336f |
-######## |
-mjyf |
-Tasks |
-0a2bec62-9fd7-44a4-b1bb-eacc553b3cd2 |
-Microsoft.SharePoint.Client.ClientContext |
-Microsoft.SharePoint.Client.ObjectPathIdentity |
-False |
-Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
-
-
-| https://tenant.sharepoint.com/newSiteCollection |
-Documents |
-True |
- |
-True |
-True |
-dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
-######## |
-Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
-True |
-Workflow History |
-e9dd54d1-27db-4ca9-8a84-6266ab3e824f |
-app2 |
-False |
-62a23f97-fe21-4142-b485-9805474162b1 |
-######## |
-app2 |
-Tasks |
-051be499-7633-4837-a3d6-68fc68ca0bcb |
-Microsoft.SharePoint.Client.ClientContext |
-Microsoft.SharePoint.Client.ObjectPathIdentity |
-False |
-Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
-
-
-| https://tenant.sharepoint.com/vs20072153 |
-Site Pages |
-True |
- |
-True |
-True |
-dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
-######## |
-Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
-True |
-Workflow History |
-c7cd1221-4dd7-4e0c-953b-aee71519116b |
-uoiio |
-False |
-545e45b7-6c2d-4378-9d23-cd08acf7ce19 |
-######## |
-uoiio |
-Tasks |
-d7275f5e-6ec5-4f67-a817-dc3d694027ed |
-Microsoft.SharePoint.Client.ClientContext |
-Microsoft.SharePoint.Client.ObjectPathIdentity |
-False |
-Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
-
-
-| https://tenant.sharepoint.com/TeamsitewithLists |
-Generic List With GeolocationColumn |
-False |
- |
-True |
-True |
-dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
-######## |
-Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
-True |
-Workflow History |
-c0d62395-f5b7-4f90-9d73-b7456017e00c |
-approval |
-False |
-d21515ce-2ec4-43c2-8f43-3150520b32f0 |
-######## |
-approval |
-Tasks list |
-9a105d7e-03c9-4561-acbf-5226c71f9bab |
-Microsoft.SharePoint.Client.ClientContext |
-Microsoft.SharePoint.Client.ObjectPathIdentity |
-False |
-Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
-
-
-
-
From a58b0b78ba68bfcf39784749fa9d89019cb79b3e Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:22:19 +0200
Subject: [PATCH 145/312] Create readme.md
---
Workflows/Get workflow report for one site/readme.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Workflows/Get workflow report for one site/readme.md
diff --git a/Workflows/Get workflow report for one site/readme.md b/Workflows/Get workflow report for one site/readme.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Workflows/Get workflow report for one site/readme.md
@@ -0,0 +1 @@
+.
From 658965c180004e439c4c2be4e9c64553c344d219 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:22:41 +0200
Subject: [PATCH 146/312] Update readme.md
---
.../readme.md | 220 +++++++++++++++++-
1 file changed, 219 insertions(+), 1 deletion(-)
diff --git a/Workflows/Get workflow report for one site/readme.md b/Workflows/Get workflow report for one site/readme.md
index 9c558e35..672af455 100644
--- a/Workflows/Get workflow report for one site/readme.md
+++ b/Workflows/Get workflow report for one site/readme.md
@@ -1 +1,219 @@
-.
+Powershell script. Creates a ```.csv``` file with a report on all workflows in a site collection.
+
+Before you run the script, open ```.ps1``` file and edit all necessary information:
+
+```PowerShell
+
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Insert the credentials and the name of the site and the path where the report should be saved.
+$Username="2190@tenant.onmicrosoft.com"
+$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
+$Url="https://tenant.sharepoint.com"
+$CSVpath="C:\testpath2.csv"
+```
+As the script runs you will see how many workflows each list has:
+
+
+
+### Sample report
+
+
+
+
+
+
+
+| #TYPE Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+| Site Url |
+List Title |
+AllowManual |
+AssociationData |
+AutoStartChange |
+AutoStartCreate |
+BaseId |
+Created |
+Description |
+Enabled |
+HistoryListTitle |
+Id |
+InstantiationUrl |
+InternalName |
+IsDeclarative |
+ListId |
+Modified |
+Name |
+TaskListTitle |
+WebId |
+Context |
+Tag |
+Path |
+ObjectVersion |
+ServerObjectIsNull |
+TypedObject |
+
+
+| https://tenant.sharepoint.com |
+Documents |
+True |
+<dfs:myFields xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dms="http://schemas.microsoft.com/office/2009/documentManagement/types" xmlns:dfs="http://schemas.microsoft.com/office/infopath/2003/dataFormSolution" xmlns:q="http://schemas.microsoft.com/office/infopath/2009/WSSList/queryFields"
+ xmlns:d="http://schemas.microsoft.com/office/infopath/2009/WSSList/dataFields" xmlns:ma="http://schemas.microsoft.com/office/2009/metadata/properties/metaAttributes" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dfs:queryFields></dfs:queryFields><dfs:dataFields><d:SharePointListItem_RW><d:Approvers><d:Assignment><d:Assignee><pc:Person><pc:DisplayName>Arleta
+ Wanat</pc:DisplayName><pc:AccountId>i:0#.f|membership|2190@tenant.onmicrosoft.com</pc:AccountId><pc:AccountType>User</pc:AccountType></pc:Person></d:Assignee><d:Stage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ /><d:AssignmentType>Serial</d:AssignmentType></d:Assignment><d:Assignment><d:Assignee><pc:Person><pc:DisplayName>Arleta Wanat</pc:DisplayName><pc:AccountId>i:0#.f|membership|2190@tenant.onmicrosoft.com</pc:AccountId><pc:AccountType>User</pc:AccountType></pc:Person></d:Assignee><d:Stage
+ xsi:nil="true" /><d:AssignmentType>Serial</d:AssignmentType></d:Assignment></d:Approvers><d:ExpandGroups>true</d:ExpandGroups><d:NotificationMessage>hf</d:NotificationMessage><d:DueDateforAllTasks xsi:nil="true"
+ /><d:DurationforSerialTasks xsi:nil="true" /><d:DurationUnits>Day</d:DurationUnits><d:CC /><d:CancelonRejection>false</d:CancelonRejection><d:CancelonChange>false</d:CancelonChange><d:EnableContentApproval>false</d:EnableContentApproval></d:SharePointListItem_RW></dfs:dataFields></dfs:myFields> |
+False |
+False |
+8ad4d8f0-93a7-4941-9657-cf3706f00409 |
+######## |
+Routes a document for approval. Approvers can approve or reject the document, reassign the approval task, or request changes to the document. |
+True |
+Workflow History |
+e76e75fe-1622-4c26-a5fa-7e6178c61ae9 |
+_layouts/15/IniWrkflIP.aspx |
+oo
+
+<Cfg.d3a8e0e9_03da_4f32_99c9_f778c1d5d560.4.512.> |
+True |
+19e3d565-15c5-4a89-b95a-626b48ff0bcc |
+######## |
+oo |
+Task List with 14 elements |
+b05b85f0-c7fe-4646-ac41-4fde2db44f3b |
+Microsoft.SharePoint.Client.ClientContext |
+Microsoft.SharePoint.Client.ObjectPathIdentity |
+False |
+Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
+
+
+| https://tenant.sharepoint.com |
+Site Pages |
+True |
+ |
+True |
+True |
+dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
+######## |
+Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
+True |
+Workflow History |
+139a534e-abe6-4862-b19e-895eac1e0cbc |
+mjyf |
+False |
+c6e865a5-b992-4a51-ba25-9ecd76ba336f |
+######## |
+mjyf |
+Tasks |
+0a2bec62-9fd7-44a4-b1bb-eacc553b3cd2 |
+Microsoft.SharePoint.Client.ClientContext |
+Microsoft.SharePoint.Client.ObjectPathIdentity |
+False |
+Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
+
+
+| https://tenant.sharepoint.com |
+Documents |
+True |
+ |
+True |
+True |
+dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
+######## |
+Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
+True |
+Workflow History |
+e9dd54d1-27db-4ca9-8a84-6266ab3e824f |
+app2 |
+False |
+62a23f97-fe21-4142-b485-9805474162b1 |
+######## |
+app2 |
+Tasks |
+051be499-7633-4837-a3d6-68fc68ca0bcb |
+Microsoft.SharePoint.Client.ClientContext |
+Microsoft.SharePoint.Client.ObjectPathIdentity |
+False |
+Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
+
+
+| https://tenant.sharepoint.com |
+Site Pages |
+True |
+ |
+True |
+True |
+dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
+######## |
+Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
+True |
+Workflow History |
+c7cd1221-4dd7-4e0c-953b-aee71519116b |
+uoiio |
+False |
+545e45b7-6c2d-4378-9d23-cd08acf7ce19 |
+######## |
+uoiio |
+Tasks |
+d7275f5e-6ec5-4f67-a817-dc3d694027ed |
+Microsoft.SharePoint.Client.ClientContext |
+Microsoft.SharePoint.Client.ObjectPathIdentity |
+False |
+Microsoft.SharePoint.Client.Workflow.WorkflowAssociation |
+
+
+| https://tenant.sharepoint.com |
+Generic List With GeolocationColumn |
+False |
+ |
+True |
+True |
+dd19a800-37c1-43c0-816d-f8eb5f4a4145 |
+######## |
+Manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. |
+True |
+Workflow History |
+c0d62395-f5b7-4f90-9d73-b7456017e00c |
+approval |
+False |
+d21515ce-2ec4-43c2-8f43-3150520b32f0 |
+######## |
+approval |
+Tasks list |
+9a105d7e-03c9-4561-acbf-5226c71f9bab |
+Microsoft.SharePoint.Client.ClientContext |
+Microsoft.SharePoint.Client.ObjectPathIdentity |
+False |
+Microsoft.SharePoint.Client.Workflow.WorkflowAssociation
+
+ |
+
+
+
+
From dfdbf4922ef4f0cedde068047065888b16494966 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:23:38 +0200
Subject: [PATCH 147/312] Create removeWfs.ps1
---
Workflows/Remove workflow associations/removeWfs.ps1 | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Workflows/Remove workflow associations/removeWfs.ps1
diff --git a/Workflows/Remove workflow associations/removeWfs.ps1 b/Workflows/Remove workflow associations/removeWfs.ps1
new file mode 100644
index 00000000..a1a7b990
--- /dev/null
+++ b/Workflows/Remove workflow associations/removeWfs.ps1
@@ -0,0 +1 @@
+fdf
From cfb65c16241813b648d183f03a1ca4d93c7deab0 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:25:48 +0200
Subject: [PATCH 148/312] Update README.md
---
Versioning/README.md | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/Versioning/README.md b/Versioning/README.md
index 9c558e35..c4931169 100644
--- a/Versioning/README.md
+++ b/Versioning/README.md
@@ -1 +1,18 @@
-.
+Scripts related to versioning of the SharePoint files.
+
+
+
+Versioning
+
+
+* Create a report on all file versions in OneDrive for Business
+* Enable minor versions for all lists
+* Enable versioning for all lists in OneDrive sites
+* Enable versioning for all SharePoint Online lists
+* Get versioning settings for all lists
+* Restore previous versions in selected files the entire library
+* Restore previous versions in the entire library
+* Set the major version limit for all the lists and libraries (data loss involved)
+
+
+
From d13fe3ec3cd02f711bd16d3d11457b9427a4a730 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:26:34 +0200
Subject: [PATCH 149/312] Create readme.md
---
Versioning/Enable minor versions for all lists/readme.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Versioning/Enable minor versions for all lists/readme.md
diff --git a/Versioning/Enable minor versions for all lists/readme.md b/Versioning/Enable minor versions for all lists/readme.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Versioning/Enable minor versions for all lists/readme.md
@@ -0,0 +1 @@
+.
From b42834caa2402d146f3df495231bceb643541383 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:26:53 +0200
Subject: [PATCH 150/312] Update readme.md
---
.../readme.md | 113 +++++++++++++++++-
1 file changed, 112 insertions(+), 1 deletion(-)
diff --git a/Versioning/Enable minor versions for all lists/readme.md b/Versioning/Enable minor versions for all lists/readme.md
index 9c558e35..f502d868 100644
--- a/Versioning/Enable minor versions for all lists/readme.md
+++ b/Versioning/Enable minor versions for all lists/readme.md
@@ -1 +1,112 @@
-.
+A short script that enables versioning with minor versions for all the libraries and lists in the whole SharePoint Online tenant.
+
+It requires SharePoint Online Management Shell and SharePoint SDK installed:
+
+http://technet.microsoft.com/en-us/library/fp161372(v=office.15).aspx
+
+http://www.microsoft.com/en-us/download/details.aspx?id=30722
+
+
+
+It uses recurrence to find all sites in all site collections and then goes through all the lists.
+
+For some lists, enabling minor versions may not be possible and you will receive a notification of that.
+
+At the end, a csv file is generated with the lists' urls and the status whether enabling was successful or not.
+
+
+
+As the script runs you will see green lists' titles for which the enabling succeeded and red for those which failed (not all lists support minor versioning).
+
+Versioning will always fail for public site.
+
+
+
+If you need to enable versioning in general and minor versioning for those lists that support it, first run this script for enabling versioning in general and then the one here for minor versions.
+
+```PowerShell
+function getall($urelek)
+{
+ $ctx=New-Object Microsoft.SharePoint.Client.ClientContext($urelek)
+ $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
+ $ctx.Load($ctx.Web.Lists)
+ $ctx.Load($ctx.Web)
+ $ctx.Load($ctx.Web.Webs)
+ $ctx.ExecuteQuery()
+ Write-Host
+ Write-Host $ctx.Url -BackgroundColor White -ForegroundColor DarkGreen
+ foreach( $ll in $ctx.Web.Lists)
+ {
+ $ctx.Load($ll.RootFolder)
+ $ctx.ExecuteQuery()
+ $ll.EnableMinorVersions = $versioning
+ $ll.Update()
+ $csvvalue= new-object PSObject
+ $listurl=$null
+ if($ctx.Url.EndsWith("/")) {$listurl= $ctx.Url.Remove(($ctx.Url.Length-1),1)+$ll.RootFolder.ServerRelativeUrl}
+ else {
+ $index=$ctx.Url.LastIndexOf(".com")
+ $listurl=$ctx.Url.Remove($index+4)+$ll.RootFolder.ServerRelativeUrl}
+ $csvvalue | Add-Member -MemberType NoteProperty -Name "Url" -Value ($listurl)
+ $csvvalue | Add-Member -MemberType NoteProperty -Name "Status" -Value "Failed"
+ try
+ {
+ $ErrorActionPreference="Stop"
+ $ctx.ExecuteQuery()
+ Write-Host $listurl -ForegroundColor DarkGreen
+ $csvvalue.Status="Success"
+ $Global:csv+= $csvvalue
+ }
+
+ catch
+ {
+ $Global:csv+= $csvvalue
+ Write-Host $listurl -ForegroundColor Red
+ }
+ finally
+ {$ErrorActionPreference="Continue"}
+
+
+ }
+
+ if($ctx.Web.Webs.Count -gt 0)
+ {
+ for($i=0; $i -lt $ctx.Web.Webs.Count ; $i++)
+ {
+ getall($ctx.Web.Webs[$i].Url)
+ }
+
+ }
+
+
+
+}
+
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Versioning will be enabled. If you prefer to disable it for the whole tenant, change to $false
+$versioning = $true
+
+# You can also enter credentials directly: $siteUrl="https://tenant-admin.sharepoint.com"
+$siteUrl = Read-Host -Prompt "Enter https://tenant-admin.sharepoint.com”
+$username = Read-Host -Prompt "Enter admin's login, e.g. admin@domain.onmicrosoft.com"
+$password = Read-Host -Prompt "Enter password" -AsSecureString
+$credy= New-Object System.Management.Automation.PSCredential($username,$password)
+Connect-SPOService -Credential $credy -Url $siteUrl
+
+$sitecollections=get-SPOSite
+$Global:csv=@()
+
+foreach($sitecoll in $sitecollections)
+{
+ getall($sitecoll.Url)
+}
+
+# Specify the path where the log file will be published
+$Global:csv | Export-Csv -Path C:\Users\Public\Versioning.csv
+ ```
+
+
+### If you think, I could have improved on anything, please let me know in the Q&A section!
From 5cc6d07e7daf0b051841dcfd76bd427ab32da44f Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:27:23 +0200
Subject: [PATCH 151/312] Update readme.md
---
Versioning/Enable minor versions for all lists/readme.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Versioning/Enable minor versions for all lists/readme.md b/Versioning/Enable minor versions for all lists/readme.md
index f502d868..7bf2a70d 100644
--- a/Versioning/Enable minor versions for all lists/readme.md
+++ b/Versioning/Enable minor versions for all lists/readme.md
@@ -109,4 +109,4 @@ $Global:csv | Export-Csv -Path C:\Users\Public\Versioning.csv
```
-### If you think, I could have improved on anything, please let me know in the Q&A section!
+### If you think, I could have improved on anything, please let me know in the Issues section!
From 3e354b76126fcfac7c011492d90a22ab3df9fbe6 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:27:56 +0200
Subject: [PATCH 152/312] Create readme.md
---
.../Enable versioning for all SharePoint Online lists/readme.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Versioning/Enable versioning for all SharePoint Online lists/readme.md
diff --git a/Versioning/Enable versioning for all SharePoint Online lists/readme.md b/Versioning/Enable versioning for all SharePoint Online lists/readme.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Versioning/Enable versioning for all SharePoint Online lists/readme.md
@@ -0,0 +1 @@
+.
From 8c22607c7296005d5327f822dc186b8e4597e5ce Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:28:39 +0200
Subject: [PATCH 153/312] Update readme.md
---
.../readme.md | 31 ++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/Versioning/Enable versioning for all SharePoint Online lists/readme.md b/Versioning/Enable versioning for all SharePoint Online lists/readme.md
index 9c558e35..19ed65b3 100644
--- a/Versioning/Enable versioning for all SharePoint Online lists/readme.md
+++ b/Versioning/Enable versioning for all SharePoint Online lists/readme.md
@@ -1 +1,30 @@
-.
+A short script that enables versioning for all the libraries and lists in the whole tenant.
+
+It requires SharePoint Online Management Shell and SharePoint SDK installed:
+
+http://technet.microsoft.com/en-us/library/fp161372(v=office.15).aspx
+
+http://www.microsoft.com/en-us/download/details.aspx?id=30722
+
+
+
+It uses recurrence to find all sites in all site collections and then goes through all the lists.
+For some lists, enabling version may not be possible and you will receive a notification of that.
+
+At the end, a csv file is generated with the lists' urls and the status whether enabling was successful or not.
+
+
+
+As the script runs you will see green lists' titles for which the enabling succeeded and red for those which failed (not all lists support versioning).
+
+
+
+
+
+
+
+
+You can customize the script by using the commented out tips.
+
+
+Enjoy and please share feedback!
From dd5cc9ac7562d14e75e9321fa53990fa057da7d4 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:29:20 +0200
Subject: [PATCH 154/312] Create readme.md
---
.../Enable versioning for all lists in OneDrive sites/readme.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Versioning/Enable versioning for all lists in OneDrive sites/readme.md
diff --git a/Versioning/Enable versioning for all lists in OneDrive sites/readme.md b/Versioning/Enable versioning for all lists in OneDrive sites/readme.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Versioning/Enable versioning for all lists in OneDrive sites/readme.md
@@ -0,0 +1 @@
+.
From 91f1b69fa00beb092073aa446590df9cad609f0d Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:29:37 +0200
Subject: [PATCH 155/312] Update readme.md
---
.../readme.md | 27 ++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/Versioning/Enable versioning for all lists in OneDrive sites/readme.md b/Versioning/Enable versioning for all lists in OneDrive sites/readme.md
index 9c558e35..59cc0a80 100644
--- a/Versioning/Enable versioning for all lists in OneDrive sites/readme.md
+++ b/Versioning/Enable versioning for all lists in OneDrive sites/readme.md
@@ -1 +1,26 @@
-.
+Powershell script that enables versioning for all the libraries and lists in all personal sites (OneDrive for Business).
+
+It requires SharePoint Online Management Shell and SharePoint SDK installed:
+
+http://technet.microsoft.com/en-us/library/fp161372(v=office.15).aspx
+
+http://www.microsoft.com/en-us/download/details.aspx?id=30722
+
+
+
+It uses recurrence to find all sites in all site collections and then goes through all the lists.
+
+For some lists, enabling version may not be possible and you will receive a notification of that.
+
+At the end, a csv file is generated with the lists' urls and the status whether enabling was successful or not.
+
+
+
+As the script runs you will see green lists' titles for which the enabling succeeded and red for those which failed (not all lists support versioning).
+
+
+
+
+You can customize the script by using the commented out tips.
+
+
From 2dc529439592154701d467609181d8b955d7b09d Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:30:18 +0200
Subject: [PATCH 156/312] Create readme.md
---
Versioning/Get versioning settings for all lists/readme.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Versioning/Get versioning settings for all lists/readme.md
diff --git a/Versioning/Get versioning settings for all lists/readme.md b/Versioning/Get versioning settings for all lists/readme.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Versioning/Get versioning settings for all lists/readme.md
@@ -0,0 +1 @@
+.
From e6629610e3b38858eed1f0f22e0ca12e6f2c57e2 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:30:37 +0200
Subject: [PATCH 157/312] Update readme.md
---
.../readme.md | 33 ++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/Versioning/Get versioning settings for all lists/readme.md b/Versioning/Get versioning settings for all lists/readme.md
index 9c558e35..8ac15997 100644
--- a/Versioning/Get versioning settings for all lists/readme.md
+++ b/Versioning/Get versioning settings for all lists/readme.md
@@ -1 +1,32 @@
-.
+A short script that checks versioning settings for all the libraries and lists in the whole tenant.
+
+
+
+It requires SharePoint Online Management Shell and SharePoint SDK installed.
+
+
+
+It uses recurrence to find all sites in all site collections and then goes through all the lists.
+
+At the end, a csv file is generated with the lists' urls and settings:
+
+
+
+
+
+As the script runs you will see green lists' titles for which the setting was successfully retrieved and red for those which failed.
+
+
+
+
+
+### How to use?
+Download and open the .ps1 file.
+Add correct SharePoint Online SDK libraries:
+
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+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"
+
From 392051ed4e0d094c45586f007da5777ac83fd6dd Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:31:10 +0200
Subject: [PATCH 158/312] Create readme.md
---
.../readme.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Versioning/Restore previous versions in selected files the entire library/readme.md
diff --git a/Versioning/Restore previous versions in selected files the entire library/readme.md b/Versioning/Restore previous versions in selected files the entire library/readme.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Versioning/Restore previous versions in selected files the entire library/readme.md
@@ -0,0 +1 @@
+.
From 0164da53b6d168e14367a50148238b60adccca01 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:31:23 +0200
Subject: [PATCH 159/312] Update readme.md
---
.../readme.md | 50 ++++++++++++++++++-
1 file changed, 49 insertions(+), 1 deletion(-)
diff --git a/Versioning/Restore previous versions in selected files the entire library/readme.md b/Versioning/Restore previous versions in selected files the entire library/readme.md
index 9c558e35..b9d7d1e2 100644
--- a/Versioning/Restore previous versions in selected files the entire library/readme.md
+++ b/Versioning/Restore previous versions in selected files the entire library/readme.md
@@ -1 +1,49 @@
-.
+The script retrieves all files and restores the LAST NOT CURRENT version of the file.
+
+Please test the script in test environment before using it in production.
+
+
+
+The script is a modification of the existing [Restore Previous Versions](https://gallery.technet.microsoft.com/Restore-previous-versions-bbcb0796) script created to show 2 ways on filtering the file results. The filters are only examples that need to be adjusted to your specific needs.
+
+The first filter uses CamlQuery to retrieve only files coming from a specific folder.
+
+The second filter takes files we have already retrieved and selects only those modified after 12/2/2017.
+
+When dealing with large number of files CamlQuery is the preferred and more efficient way.
+
+
+
+
+
+ The script requires SharePoint Online SDK. Make sure that the paths below point to locations on your computer:
+
+
+
+```PowerShell
+#Paths to SDK
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+ ```
+
+The script needs to be edited before running. Enter the necessary data:
+
+```PowerShell
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="t@testova365.onmicrosoft.com"
+$Url="https://testova365.sharepoint.com/sites/STS"
+$ListTitle="VersionTest"
+```
+The CamlQuery below chooses only files whose ServerRelativeUrl includes a certain path. In this way you can restore versions only from a specific folder.
+
+```PowerShell
+ $spqQuery.ViewXml ="/VersionTest/Folder2/FolderWithinFolder";
+ ```
+ The following lines allow us to narrow the files only to those modified after 12/2/2017.
+```PowerShell
+ $date=Get-Date ("2/12/2017")
+
+ if($file.TimeLastModified -gt $date)
+ {
+ ```
From deb9b27ab8629fbab40005080c09ec6194c7a51f Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:31:55 +0200
Subject: [PATCH 160/312] Create readme.md
---
.../Restore previous versions in the entire library/readme.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Versioning/Restore previous versions in the entire library/readme.md
diff --git a/Versioning/Restore previous versions in the entire library/readme.md b/Versioning/Restore previous versions in the entire library/readme.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Versioning/Restore previous versions in the entire library/readme.md
@@ -0,0 +1 @@
+.
From a94a01dc2575ef08ca922b85dcf46277b1e5550f Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:32:08 +0200
Subject: [PATCH 161/312] Update readme.md
---
.../readme.md | 28 ++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/Versioning/Restore previous versions in the entire library/readme.md b/Versioning/Restore previous versions in the entire library/readme.md
index 9c558e35..602e5d33 100644
--- a/Versioning/Restore previous versions in the entire library/readme.md
+++ b/Versioning/Restore previous versions in the entire library/readme.md
@@ -1 +1,27 @@
-.
+The script retrieves all files and restores the LAST NOT CURRENT version of the file.
+
+Please test the script in test environment before using it in production.
+
+ The script requires SharePoint Online SDK. Make sure that the paths below point to locations on your computer:
+
+```PowerShell
+#Paths to SDK
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+```
+
+The script needs to be edited before running. Enter the necessary data:
+
+```PowerShell
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="t@trial456.onmicrosoft.com"
+$Url="https://trial456.sharepoint.com/sites/teamsitewithlibraries"
+$ListTitle="uyyu"
+```
+
+
+
+
+
+Enjoy and please share feedback!
From f0824e37d0cd016d1f0d16d5c9339405166bdcea Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:32:51 +0200
Subject: [PATCH 162/312] Create readme.md
---
.../readme.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
diff --git a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
@@ -0,0 +1 @@
+.
From 9ba549f6b157f9d2796571769f01a146997022cf Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:33:27 +0200
Subject: [PATCH 163/312] Update readme.md
---
.../readme.md | 71 ++++++++++++++++++-
1 file changed, 70 insertions(+), 1 deletion(-)
diff --git a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
index 9c558e35..3c927c83 100644
--- a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
+++ b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
@@ -1 +1,70 @@
-.
+A short script that sets the major version limit for all the libraries and lists in the whole site collection or in the whole tenant.
+
+It requires SharePoint Online Management Shell and SharePoint SDK installed:
+
+http://technet.microsoft.com/en-us/library/fp161372(v=office.15).aspx
+
+http://www.microsoft.com/en-us/download/details.aspx?id=30722
+
+
+
+It uses recurrence to find all sites in all site collections and then goes through all the lists.
+
+If the list doesn't have versioning enabled, modifying the major version limit is not possible and you will receive the following error message:
+
+Exception calling "ExecuteQuery" with "0" argument(s): "Specified method is not supported."For some lists, enabling version may not be possible and you will receive a notification of that.
+
+At the end, a csv file is generated with the lists' urls and the status whether the setting was successful or not.
+
+
+
+As the script runs you will see green lists' titles for which the setting succeeded and red for those which failed:
+
+
+
+
+
+
+
+
+
+
+
+
+
+In order to use the script, adjust the data inside:
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+
+
+# Versioning will be enabled. If you prefer to disable it for the whole tenant, change to $false
+$Versioning = $true
+
+#Number of major versions to keep
+$VersionLimit = 14
+
+# You can also enter credentials directly: $siteUrl="https://tenant-admin.sharepoint.com"
+$AdminUrl = "https://tenant-admin.sharepoint.com”
+$Username = "test@tenant.onmicrosoft.com"
+$Password = Read-Host -Prompt "Enter password" -AsSecureString
+$Creds= New-Object System.Management.Automation.PSCredential($username,$password)
+Connect-SPOService -Credential $Creds -Url $AdminUrl
+
+$sitecollections=Get-SPOSite
+$Global:csv=@()
+
+#Uncomment the foreach loop if you want to change the settings in all site collections
+#foreach($sitecoll in $sitecollections)
+#{
+ Set-VersionLimit -Url ("https://test.sharepoint.com/sites/test") -Username $Username -Password $Password -Versioning $Versioning -VersionLimit $VersionLimit
+#}
+
+
+
+# Specify the path where the log file will be published
+$Global:csv | Export-Csv -Path C:\Users\Public\Versioninglimitversion.csv
+ ```
From 3fff13975589caf0b19818239fd98a19a11ab03a Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:33:30 +0200
Subject: [PATCH 164/312] Update description.md
---
.../description.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md
index c95d7eea..3c927c83 100644
--- a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md
+++ b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md
@@ -34,7 +34,7 @@ As the script runs you will see green lists' titles for which the setting succee
In order to use the script, adjust the data inside:
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
@@ -67,4 +67,4 @@ $Global:csv=@()
# Specify the path where the log file will be published
$Global:csv | Export-Csv -Path C:\Users\Public\Versioninglimitversion.csv
-
+ ```
From 1c8291d9061c146060dfab0b2431bb904e19cbf1 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:37:13 +0200
Subject: [PATCH 165/312] Update readme.md
---
.../readme.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
index 3c927c83..a828978d 100644
--- a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
+++ b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
@@ -12,6 +12,7 @@ It uses recurrence to find all sites in all site collections and then goes throu
If the list doesn't have versioning enabled, modifying the major version limit is not possible and you will receive the following error message:
+
Exception calling "ExecuteQuery" with "0" argument(s): "Specified method is not supported."For some lists, enabling version may not be possible and you will receive a notification of that.
At the end, a csv file is generated with the lists' urls and the status whether the setting was successful or not.
@@ -21,7 +22,7 @@ At the end, a csv file is generated with the lists' urls and the status whether
As the script runs you will see green lists' titles for which the setting succeeded and red for those which failed:
-
+
From 4a3a5eeec8233d88e33b3b8e79fdc3d2afcb7657 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:37:54 +0200
Subject: [PATCH 166/312] Update readme.md
---
.../readme.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
index a828978d..8cbec348 100644
--- a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
+++ b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
@@ -12,7 +12,7 @@ It uses recurrence to find all sites in all site collections and then goes throu
If the list doesn't have versioning enabled, modifying the major version limit is not possible and you will receive the following error message:
-
+
Exception calling "ExecuteQuery" with "0" argument(s): "Specified method is not supported."For some lists, enabling version may not be possible and you will receive a notification of that.
At the end, a csv file is generated with the lists' urls and the status whether the setting was successful or not.
@@ -22,7 +22,7 @@ At the end, a csv file is generated with the lists' urls and the status whether
As the script runs you will see green lists' titles for which the setting succeeded and red for those which failed:
-
+
From 4c271d51db82cd328fb5cdcbbcbeb20e6e1295fc Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:40:46 +0200
Subject: [PATCH 167/312] Update readme.md
---
.../readme.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
index 8cbec348..25ce37f5 100644
--- a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
+++ b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
@@ -12,12 +12,12 @@ It uses recurrence to find all sites in all site collections and then goes throu
If the list doesn't have versioning enabled, modifying the major version limit is not possible and you will receive the following error message:
-
-Exception calling "ExecuteQuery" with "0" argument(s): "Specified method is not supported."For some lists, enabling version may not be possible and you will receive a notification of that.
+
+Exception calling "ExecuteQuery" with "0" argument(s): "Specified method is not supported."For some lists, enabling version may not be possible and you will receive a notification of that.
At the end, a csv file is generated with the lists' urls and the status whether the setting was successful or not.
-
+
As the script runs you will see green lists' titles for which the setting succeeded and red for those which failed:
From f92be48f668915914dbc2fac0e5db31fa9a7d42f Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:41:07 +0200
Subject: [PATCH 168/312] Update description.md
---
.../description.md | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md
index 3c927c83..25ce37f5 100644
--- a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md
+++ b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md
@@ -12,16 +12,17 @@ It uses recurrence to find all sites in all site collections and then goes throu
If the list doesn't have versioning enabled, modifying the major version limit is not possible and you will receive the following error message:
-Exception calling "ExecuteQuery" with "0" argument(s): "Specified method is not supported."For some lists, enabling version may not be possible and you will receive a notification of that.
+
+Exception calling "ExecuteQuery" with "0" argument(s): "Specified method is not supported."For some lists, enabling version may not be possible and you will receive a notification of that.
At the end, a csv file is generated with the lists' urls and the status whether the setting was successful or not.
-
+
As the script runs you will see green lists' titles for which the setting succeeded and red for those which failed:
-
+
From 21b0d940d689da1689426b6fe14fdc1ae6670338 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:42:19 +0200
Subject: [PATCH 169/312] Update readme.md
---
.../readme.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
index 25ce37f5..efb3c192 100644
--- a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
+++ b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/readme.md
@@ -69,3 +69,5 @@ $Global:csv=@()
# Specify the path where the log file will be published
$Global:csv | Export-Csv -Path C:\Users\Public\Versioninglimitversion.csv
```
+
+Enjoy and please share feedback!
From 732756fe0695ab979ef1b0d92d8e6660832eda4d Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:42:28 +0200
Subject: [PATCH 170/312] Update description.md
---
.../description.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md
index 25ce37f5..efb3c192 100644
--- a/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md
+++ b/Versioning/Set the major version limit for all the lists and libraries (data loss involved)/description.md
@@ -69,3 +69,5 @@ $Global:csv=@()
# Specify the path where the log file will be published
$Global:csv | Export-Csv -Path C:\Users\Public\Versioninglimitversion.csv
```
+
+Enjoy and please share feedback!
From f3c9e51d29d3efd519b08669cbe55110278d52d9 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:50:46 +0200
Subject: [PATCH 171/312] Create RemoveSiteWFs.ps1
---
.../RemoveSiteWFs.ps1 | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 Workflows/Remove workflow site associations/RemoveSiteWFs.ps1
diff --git a/Workflows/Remove workflow site associations/RemoveSiteWFs.ps1 b/Workflows/Remove workflow site associations/RemoveSiteWFs.ps1
new file mode 100644
index 00000000..ab347748
--- /dev/null
+++ b/Workflows/Remove workflow site associations/RemoveSiteWFs.ps1
@@ -0,0 +1,38 @@
+function Remove-Workflows{
+
+ $context = New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $context.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $web = $context.Web
+ $context.Load($Web)
+ $context.ExecuteQuery()
+
+ $context.Load($web.WorkflowAssociations)
+ $context.ExecuteQuery()
+
+ Write-Host $web.WorkflowAssociations.count
+
+ while ($web.WorkflowAssociations.count -gt 0) {
+ $SiteWorkflowAssociations = $web.WorkflowAssociations
+ $context.Load($SiteWorkflowAssociations)
+ $context.ExecuteQuery()
+
+ $SiteWorkflowAssociations | ForEach-Object {
+ Write-Output $_
+ $_.DeleteObject()
+ $context.ExecuteQuery()
+ }
+ }
+
+}
+
+ # Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Insert the credentials and the name of the site collection and the path where the report should be saved.
+$Username = "2190@tenant.onmicrosoft.com"
+$AdminPassword = Read-Host -Prompt "Password" -AsSecureString
+$Url = "https://tenant.sharepoint.com/sites/YOURSITE"
+
+
+Remove-Workflows -Username $Username -AdminPassword $AdminPassword -Url $Url
From b4e83f82e718c73886ac7806a954147a31eeaba0 Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:53:23 +0200
Subject: [PATCH 172/312] Update RemoveSiteWFs.ps1
---
.../Remove workflow site associations/RemoveSiteWFs.ps1 | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/Workflows/Remove workflow site associations/RemoveSiteWFs.ps1 b/Workflows/Remove workflow site associations/RemoveSiteWFs.ps1
index ab347748..87173b45 100644
--- a/Workflows/Remove workflow site associations/RemoveSiteWFs.ps1
+++ b/Workflows/Remove workflow site associations/RemoveSiteWFs.ps1
@@ -1,5 +1,12 @@
function Remove-Workflows{
-
+ param(
+ [Parameter(Mandatory = $true, Position = 1)]
+ [string]$Username,
+ [Parameter(Mandatory = $true, Position = 2)]
+ $AdminPassword,
+ [Parameter(Mandatory = $true, Position = 3)]
+ [string]$Url
+ )
$context = New-Object Microsoft.SharePoint.Client.ClientContext($Url)
$context.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
$web = $context.Web
From 0e4f6134d7a1abb39f2a0d7a11df70109f57c6cd Mon Sep 17 00:00:00 2001
From: Anaida-debug <71360032+Anaida-debug@users.noreply.github.com>
Date: Wed, 16 Sep 2020 03:53:47 +0200
Subject: [PATCH 173/312] Create RemoveListWFs.ps1
---
.../RemoveListWFs.ps1 | 57 +++++++++++++++++++
1 file changed, 57 insertions(+)
create mode 100644 Workflows/Remove list workflow associations/RemoveListWFs.ps1
diff --git a/Workflows/Remove list workflow associations/RemoveListWFs.ps1 b/Workflows/Remove list workflow associations/RemoveListWFs.ps1
new file mode 100644
index 00000000..9cd515d6
--- /dev/null
+++ b/Workflows/Remove list workflow associations/RemoveListWFs.ps1
@@ -0,0 +1,57 @@
+function Remove-Workflows{
+ param(
+ [Parameter(Mandatory = $true, Position = 1)]
+ [string]$Username,
+ [Parameter(Mandatory = $true, Position = 2)]
+ $AdminPassword,
+ [Parameter(Mandatory = $true, Position = 3)]
+ [string]$Url
+ )
+
+ $context = New-Object Microsoft.SharePoint.Client.ClientContext($Url)
+ $context.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $AdminPassword)
+ $web = $context.Web
+ $context.Load($Web)
+ $context.ExecuteQuery()
+
+ $context.Load($web.Lists)
+ $context.ExecuteQuery()
+
+ $web.Lists | ForEach-Object {
+
+ $list = $_
+
+ <# to limit it to one list
+ if($list.Title -ne "Nintex_List"){
+ return;
+ }#>
+
+ $context.Load($list)
+ $context.ExecuteQuery()
+ $wfassociations = $list.WorkflowAssociations
+ $context.Load($wfassociations)
+ $context.ExecuteQuery()
+
+ foreach ($wf in $wfassociations) {
+
+ Write-Output $wf
+ $wf.DeleteObject()
+ $context.ExecuteQuery()
+ Write-Host "Found Nintex workflow on site... $($list.Title).Removed!" -ForegroundColor Green
+ }
+
+ }
+
+}
+
+ # Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Insert the credentials and the name of the site collection and the path where the report should be saved.
+$Username = "2190@tenant.onmicrosoft.com"
+$AdminPassword = Read-Host -Prompt "Password" -AsSecureString
+$Url = "https://tenant.sharepoint.com/sites/YOURSITE"
+
+
+Remove-Workflows -Username $Username -AdminPassword $AdminPassword -Url $Url
From b1964510e5278db5631ab25999c8ca595d941e51 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Tue, 22 Sep 2020 17:43:42 +0300
Subject: [PATCH 174/312] Create README.md
---
.../Records Management/Declare files as records/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 File Management/Records Management/Declare files as records/README.md
diff --git a/File Management/Records Management/Declare files as records/README.md b/File Management/Records Management/Declare files as records/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/File Management/Records Management/Declare files as records/README.md
@@ -0,0 +1 @@
+.
From b005de5b63f7f42dfbc154d6aab7d4676d182593 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 24 Sep 2020 14:20:36 +0300
Subject: [PATCH 175/312] Create README.md
---
.../Break role inheritance for a single list/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Permissions/Powershell/Break role inheritance for a single list/README.md
diff --git a/Permissions/Powershell/Break role inheritance for a single list/README.md b/Permissions/Powershell/Break role inheritance for a single list/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Permissions/Powershell/Break role inheritance for a single list/README.md
@@ -0,0 +1 @@
+.
From d0fcfc7c8d7964d289ae72d627d0ddb7a0e7dcd8 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 25 Sep 2020 21:26:11 +0300
Subject: [PATCH 176/312] Create README.md
---
File Management/Module for easy file management/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 File Management/Module for easy file management/README.md
diff --git a/File Management/Module for easy file management/README.md b/File Management/Module for easy file management/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/File Management/Module for easy file management/README.md
@@ -0,0 +1 @@
+.
From 517ba25d27856ff26076e7e117031cb4d121bb72 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 13:12:26 +0300
Subject: [PATCH 177/312] Create README.md
---
.../Column Management/Add a geolocation column/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Column Management/Add a geolocation column/README.md
diff --git a/Lists and Libraries Management/Column Management/Add a geolocation column/README.md b/Lists and Libraries Management/Column Management/Add a geolocation column/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Column Management/Add a geolocation column/README.md
@@ -0,0 +1 @@
+.
From 021de2252510f95fcec61d6e10eb468057f4a779 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:29:47 +0300
Subject: [PATCH 178/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Delete unique permissions for all lists in a site collection/README.md
diff --git a/Lists and Libraries Management/Delete unique permissions for all lists in a site collection/README.md b/Lists and Libraries Management/Delete unique permissions for all lists in a site collection/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Delete unique permissions for all lists in a site collection/README.md
@@ -0,0 +1 @@
+.
From b7f925e21ea6ac9cfbe560e3519c2c9d7b03c979 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:30:06 +0300
Subject: [PATCH 179/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online sites/README.md
diff --git a/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online sites/README.md b/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online sites/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online sites/README.md
@@ -0,0 +1 @@
+.
From 827ea6c87cfd100f701c6070fdf6d1b9543f8785 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:30:31 +0300
Subject: [PATCH 180/312] Update README.md
---
.../README.md | 60 ++++++++++++++++++-
1 file changed, 59 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online sites/README.md b/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online sites/README.md
index 9c558e35..9d4247de 100644
--- a/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online sites/README.md
+++ b/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online sites/README.md
@@ -1 +1,59 @@
-.
+A script to copy folder structure from a library in one site collection/subsite to a library in a different site collection/subsite.
+
+
+
+### *How to use?*
+
+1. Download the script and open the file (you can use Powershell ISE or e.g. NotePad).
+
+2. Edit the following lines, entering your values (# means comment, changing these lines won't bring any effect):
+
+
+
+```PowerShell
+# Enter the username of a user who has enough permissions to run the operation for both site collections
+$admin="t@trial890.onmicrosoft.com"
+
+# Where you want to copy the folder structure FROM
+$Sourcesite="https://trial890.sharepoint.com/sites/TeamsitewithLibraries"
+$sourceLibrary="tescik2"
+
+# Where you want to copy the folder structure TO
+$destinationSite="https://trial890.sharepoint.com/sites/teamsitewithlists"
+$destLibr="docLib3"
+```
+$admin - user
+$Sourcesite - url of the site where the source library is; it's the url of the site where you want to copy FROM
+$destinationSite - url of the site where the target library is; it's the url of the site where you want to copy TO
+
+
+
+$sourceLibrary - title of the original library where you want to copy the structure FROM
+$destLibr - title of the destination library where you want to copy the structure TO
+
+For all the data please stick to the formats as in the example.
+
+3. Save and run the script. During execution it will ask you for a password and later on display relative urls of all the newly created folders.
+
+
+
+
+
+## Technicalities
+
+The scripts works with libraries, not lists.
+
+I tested it with several scenarios and it worked. However, testing went only as far as my imagination and limited time resources would go, so if you encounter a scenario where the script does not work or throws errors, please let me know in the Q&A section, and I will fix it.
+
+
+
+## Error handling
+
+Upper/lower case shouldn't cause any issues. That means whether you enter "DocLibrary" or "docliBRARY" they should be treated the same. If you notice otherwise, please report.
+
+Folders keep their casing. That means that "Big InvestMent" will remain "Big InvestMent" in the new library.
+
+
+
+
+Enjoy and please share feedback!
From 787eb4970cec72719ccea9868970c6fb21aaaa39 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:30:48 +0300
Subject: [PATCH 181/312] Create README.md
---
.../Get all event receivers on your lists in a site/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Get all event receivers on your lists in a site/README.md
diff --git a/Lists and Libraries Management/Get all event receivers on your lists in a site/README.md b/Lists and Libraries Management/Get all event receivers on your lists in a site/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Get all event receivers on your lists in a site/README.md
@@ -0,0 +1 @@
+.
From a69e9e3a06c25a24d683f3ed3d10384cf796b715 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:31:04 +0300
Subject: [PATCH 182/312] Update README.md
---
.../README.md | 49 ++++++++++++++++++-
1 file changed, 48 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Get all event receivers on your lists in a site/README.md b/Lists and Libraries Management/Get all event receivers on your lists in a site/README.md
index 9c558e35..5730c886 100644
--- a/Lists and Libraries Management/Get all event receivers on your lists in a site/README.md
+++ b/Lists and Libraries Management/Get all event receivers on your lists in a site/README.md
@@ -1 +1,48 @@
-.
+A short solution to find event receivers on your SPO lists.
+
+
+
+1. Install [SharePoint Online SDK](http://www.microsoft.com/en-us/download/details.aspx?id=42038)
+
+2. Download the file and open (e.g. in NotePad)
+
+3. Scroll down to these lines
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Insert the credentials and the name of the admin site
+$Username="admin@tenant.onmicrosoft.com"
+$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
+$Url="https://tenant.sharepoint.com/sites/teamsitewithlibraries"
+
+
+Get-SPOListEventreceivers -Username $Username -AdminPassword $AdminPassword -Url $Url
+```
+4. Check if the 2 libraries are in the same location on your computer. If yes, proceed on. If no, change the paths in the file. Usually you will be required to change folder name "15" into "16".
+
+5. Instead of admin@tenant.onmicrosoft.com, enter the name of your site collection admin.
+
+6. Instead of https://tenant.sharepint.com/sites/teamsitewithlibraries enter name of the site where the unwanted app is located
+
+7. Run the script in any Powershell module.
+
+It should ask you for your admin password
+
+
+
+If you want to export the event-receivers' data to a .csv file, use PathToTheScript | export-csv c:\users\MyUsers\Desktop\CSVReport.csv
+
+
+
+### Sample Report
+
+ReceiverAssembly | ReceiverClass | ReceiverId | ReceiverName | SequenceNumber | Synchronization | EventType | ReceiverUrl | Context | Tag | Path | ObjectVersion | ServerObjectIsNull | TypedObject
+---|---|---|---|---|---|---|---|---|---|---|---|---|---
+Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c | Microsoft.SharePoint.Portal.CommunityEventReceiver | f13fb801-b306-42ea-bb1e-2f4c1e4a8e81 | | 10000 | Synchronous | ItemAdding | Microsoft.SharePoint.Client.ClientContext | Microsoft.SharePoint.Client.ObjectPathIdentity | False | Microsoft.SharePoint.Client.EventReceiverDefinition
+Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c | Microsoft.SharePoint.Portal.CommunityEventReceiver | cebe300c-50ac-4d88-8a4b-a63b9d6da400 | | 10000 | Synchronous | ItemUpdating | Microsoft.SharePoint.Client.ClientContext | Microsoft.SharePoint.Client.ObjectPathIdentity | False | Microsoft.SharePoint.Client.EventReceiverDefinition
+Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c | Microsoft.SharePoint.Portal.CommunityEventReceiver | bfc4ca11-32d6-4248-923c-fe16bcf8145d | | 10000 | Synchronous | ItemDeleting | Microsoft.SharePoint.Client.ClientContext | Microsoft.SharePoint.Client.ObjectPathIdentity | False | Microsoft.SharePoint.Client.EventReceiverDefinition
+Microsoft.SharePoint.Portal, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c | Microsoft.SharePoint.Portal.CommunityEventReceiver | 6f2b105a-4834-40df-a450-c480c5c94ef0 | | 10000 | Asynchronous | ItemAdded | Microsoft.SharePoint.Client.ClientContext | Microsoft.SharePoint.Client.ObjectPathIdentity | False | Microsoft.SharePoint.Client.EventReceiverDefinition
+
From b49088a1bec2c2aec272c8b9a1f2ccbf67a9a687 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:31:21 +0300
Subject: [PATCH 183/312] Create README.md
---
.../Get all lists not used since/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Get all lists not used since/README.md
diff --git a/Lists and Libraries Management/Get all lists not used since/README.md b/Lists and Libraries Management/Get all lists not used since/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Get all lists not used since/README.md
@@ -0,0 +1 @@
+.
From 2a3d8d3e99220059706c36b2c9aa591932b168b7 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:31:37 +0300
Subject: [PATCH 184/312] Update README.md
---
.../Get all lists not used since/README.md | 22 ++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Get all lists not used since/README.md b/Lists and Libraries Management/Get all lists not used since/README.md
index 9c558e35..16b26809 100644
--- a/Lists and Libraries Management/Get all lists not used since/README.md
+++ b/Lists and Libraries Management/Get all lists not used since/README.md
@@ -1 +1,21 @@
-.
+A short script that retrieves all lists from a site that haven't been modified for a while.
+
+Please mind the difference between used and modified. A list of countries or client contacts that serve as lookup for other lists may not be changed often but is still widely used.
+
+You need SharePoint Online SDK to run it.
+
+Please do NOT enter your password in the file! You will be asked for it during script execution.
+
+Please adjust the following parameters before execution:
+
+```PowerShell
+#Paths to SDK
+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"
+
+#Enter the data
+$username="ana@etr56.onmicrosoft.com"
+$Url="https://etr56.sharepoint.com/sites/demigtest11-2"
+\$olderThan = "2019-09-30"
+```
+Sample results
From 2bc911fcf8a36dc1dfe56708cd307eacb5e999a0 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:33:06 +0300
Subject: [PATCH 185/312] Update README.md
---
Workflows/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Workflows/README.md b/Workflows/README.md
index c4f3c476..c5f0d028 100644
--- a/Workflows/README.md
+++ b/Workflows/README.md
@@ -1 +1 @@
-Scripts dealing with SharePoint workflows
+Scripts dealing with SharePoint and Nintex workflows
From af529f994680a417e005924e0923a4f2e221592b Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:34:14 +0300
Subject: [PATCH 186/312] Create README.md
---
.../Get large SharePoint Online lists v2/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Get large SharePoint Online lists v2/README.md
diff --git a/Lists and Libraries Management/Get large SharePoint Online lists v2/README.md b/Lists and Libraries Management/Get large SharePoint Online lists v2/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Get large SharePoint Online lists v2/README.md
@@ -0,0 +1 @@
+.
From 4409d5216ec4d5f0f9c75277a9e1dea803b63fab Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:34:43 +0300
Subject: [PATCH 187/312] Update README.md
---
.../README.md | 38 ++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Get large SharePoint Online lists v2/README.md b/Lists and Libraries Management/Get large SharePoint Online lists v2/README.md
index 9c558e35..cca9e8ab 100644
--- a/Lists and Libraries Management/Get large SharePoint Online lists v2/README.md
+++ b/Lists and Libraries Management/Get large SharePoint Online lists v2/README.md
@@ -1 +1,37 @@
-.
+The script loops through all site collections, all their subsites and finds lists with more than x items. You can define x.
+
+It generates a report to csv file.
+
+
+
+
+
+
+
+In order to use the script, modify the following lines. DO NOT enter password in the file:
+
+
+
+
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+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"
+
+# Insert the credentials and the name of the admin site
+$Username="ana@etr56.onmicrosoft.com"
+$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
+$Url="https://etr56.sharepoint.com"
+
+# reporting parameters
+ # where should the report be saved
+$csvPath = "C:\Users\Public\largelists.csv"
+$itemThreshold = 20000
+```
+
+
+
+Another variation of the script creates a fuller report, with more properties of exported lists. Check it out here:
+
+https://gallery.technet.microsoft.com/office/Get-large-SharePoint-0906ff8f
From da0e051cb178051b536becf3dd47083072381b02 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:34:51 +0300
Subject: [PATCH 188/312] Update description.md
---
.../Get large SharePoint Online lists v2/description.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Lists and Libraries Management/Get large SharePoint Online lists v2/description.md b/Lists and Libraries Management/Get large SharePoint Online lists v2/description.md
index f1e9eae5..cca9e8ab 100644
--- a/Lists and Libraries Management/Get large SharePoint Online lists v2/description.md
+++ b/Lists and Libraries Management/Get large SharePoint Online lists v2/description.md
@@ -14,7 +14,7 @@ In order to use the script, modify the following lines. DO NOT enter password in
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
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"
@@ -28,7 +28,7 @@ $Url="https://etr56.sharepoint.com"
# where should the report be saved
$csvPath = "C:\Users\Public\largelists.csv"
$itemThreshold = 20000
-
+```
From 10bc4547018ab6676490232b21df3cbbac475c49 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:35:20 +0300
Subject: [PATCH 189/312] Create README.md
---
.../Get the number of files and folders in library/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Get the number of files and folders in library/README.md
diff --git a/Lists and Libraries Management/Get the number of files and folders in library/README.md b/Lists and Libraries Management/Get the number of files and folders in library/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Get the number of files and folders in library/README.md
@@ -0,0 +1 @@
+.
From bd0beea234d402deb12afa4a700eb02d75370ba8 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:35:51 +0300
Subject: [PATCH 190/312] Update README.md
---
.../README.md | 58 ++++++++++++++++++-
1 file changed, 57 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Get the number of files and folders in library/README.md b/Lists and Libraries Management/Get the number of files and folders in library/README.md
index 9c558e35..8901618a 100644
--- a/Lists and Libraries Management/Get the number of files and folders in library/README.md
+++ b/Lists and Libraries Management/Get the number of files and folders in library/README.md
@@ -1 +1,57 @@
-.
+Powershell script for getting the number of items, folders and files in a given SharePoint Online library.
+
+
+
+The script requires SharePoint Online SDK.
+
+
+
+In order to use it, download, open and edit the file:
+
+
+
+```PowerShell
+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"
+
+
+
+ $Username="test@tenant.onmicrosoft.com"
+ $Url = "https://tenant.sharepoint.com/sites/test"
+ $ListTitle = "noci"
+ $Password = Read-Host -Prompt "Enter password" -AsSecureString
+```
+
+
+If you want to see a division between files and folders, uncomment the following part of the code:
+
+
+
+```PowerShell
+
+<# Uncomment if you want to see the split between files and folders
+
+ $NoOfFiles=0
+ $NoOfFolders=0
+
+ foreach($item in $listItems)
+ {
+ if($item.FileSystemObjectType -eq "File")
+ {
+ $NoOfFiles++;
+ }
+ if($item.FileSystemObjectType -eq "Folder")
+ {
+ $NoOfFolders++;
+ }
+ }
+
+ Write-Host "Total number of items: " $list.ItemCount
+ Write-Host "Number of files:" $NoOfFiles
+ Write-Host "Number of folders:" $NoOfFolders
+
+ #>
+```
+Expected results will display the total number of items, number of files, and number of folders:
+
+
From e061ea65ae71c308e9b091ece8636440048986eb Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:36:13 +0300
Subject: [PATCH 191/312] Update description.md
---
.../description.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Lists and Libraries Management/Get the number of files and folders in library/description.md b/Lists and Libraries Management/Get the number of files and folders in library/description.md
index 38846a59..8901618a 100644
--- a/Lists and Libraries Management/Get the number of files and folders in library/description.md
+++ b/Lists and Libraries Management/Get the number of files and folders in library/description.md
@@ -10,7 +10,7 @@ In order to use it, download, open and edit the file:
-PowerShell
+```PowerShell
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"
@@ -20,14 +20,14 @@ Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extens
$Url = "https://tenant.sharepoint.com/sites/test"
$ListTitle = "noci"
$Password = Read-Host -Prompt "Enter password" -AsSecureString
-
+```
If you want to see a division between files and folders, uncomment the following part of the code:
-PowerShell
+```PowerShell
<# Uncomment if you want to see the split between files and folders
@@ -51,7 +51,7 @@ PowerShell
Write-Host "Number of folders:" $NoOfFolders
#>
-
+```
Expected results will display the total number of items, number of files, and number of folders:
From 72aa2b658ee5fb8368af1bb3c4bffd07808dd222 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:39:01 +0300
Subject: [PATCH 192/312] Update README.md
---
.../Get the number of files and folders in library/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Get the number of files and folders in library/README.md b/Lists and Libraries Management/Get the number of files and folders in library/README.md
index 8901618a..e52a606c 100644
--- a/Lists and Libraries Management/Get the number of files and folders in library/README.md
+++ b/Lists and Libraries Management/Get the number of files and folders in library/README.md
@@ -54,4 +54,4 @@ If you want to see a division between files and folders, uncomment the following
```
Expected results will display the total number of items, number of files, and number of folders:
-
+
From f2b7fb2e36981b1ecd286c68a2ba199ea276f3ed Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:39:18 +0300
Subject: [PATCH 193/312] Update description.md
---
.../description.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Get the number of files and folders in library/description.md b/Lists and Libraries Management/Get the number of files and folders in library/description.md
index 8901618a..e52a606c 100644
--- a/Lists and Libraries Management/Get the number of files and folders in library/description.md
+++ b/Lists and Libraries Management/Get the number of files and folders in library/description.md
@@ -54,4 +54,4 @@ If you want to see a division between files and folders, uncomment the following
```
Expected results will display the total number of items, number of files, and number of folders:
-
+
From e1d434f33b8032d4b8493fdecdd76f21400f4237 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:39:31 +0300
Subject: [PATCH 194/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Get-SPOListTemplates to retrieve list templates on a SharePoint Online site/README.md
diff --git a/Lists and Libraries Management/Get-SPOListTemplates to retrieve list templates on a SharePoint Online site/README.md b/Lists and Libraries Management/Get-SPOListTemplates to retrieve list templates on a SharePoint Online site/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Get-SPOListTemplates to retrieve list templates on a SharePoint Online site/README.md
@@ -0,0 +1 @@
+.
From c92f003f3161c8487e7080ecf69ad03aeeda2785 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:54:39 +0300
Subject: [PATCH 195/312] Update README.md
---
.../README.md | 38 ++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Get-SPOListTemplates to retrieve list templates on a SharePoint Online site/README.md b/Lists and Libraries Management/Get-SPOListTemplates to retrieve list templates on a SharePoint Online site/README.md
index 9c558e35..a8d82a66 100644
--- a/Lists and Libraries Management/Get-SPOListTemplates to retrieve list templates on a SharePoint Online site/README.md
+++ b/Lists and Libraries Management/Get-SPOListTemplates to retrieve list templates on a SharePoint Online site/README.md
@@ -1 +1,37 @@
-.
+A short script to retrieve default list templates from a given site. It does NOT retrieve custom list templates.
+
+
+
+## **How to use?**
+
+1. The script requires SharePoint Online SDK. Make sure you have those libraries on your machine:
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+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"
+```
+2. Download the file and open it (in NotePad or ISE).
+
+3. Verify the paths to SDK.
+
+4. Enter the admin's login and url of the site:
+
+```PowerShell
+$adminLogin="admin@tenant.onmicrosoft.com"
+$url="https://tenant.sharepoint.com/sites/invoices"
+```
+5. Run the script in ANY Powershell. It will ask you for password.
+
+
+
+
+
+## *Expected results*
+
+
+
+
+
+
+Enjoy and please share feedback!
From 823f43cec757960a2424d48af4df76804f7003a5 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:55:16 +0300
Subject: [PATCH 196/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/GetSPOList Module to view and filter SPO list properties/README.md
diff --git a/Lists and Libraries Management/GetSPOList Module to view and filter SPO list properties/README.md b/Lists and Libraries Management/GetSPOList Module to view and filter SPO list properties/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/GetSPOList Module to view and filter SPO list properties/README.md
@@ -0,0 +1 @@
+.
From f5a15f55bc46b0a730a2afaffe2f139f46be4d9a Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:55:24 +0300
Subject: [PATCH 197/312] Update README.md
---
.../README.md | 133 +++++++++++++++++-
1 file changed, 132 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/GetSPOList Module to view and filter SPO list properties/README.md b/Lists and Libraries Management/GetSPOList Module to view and filter SPO list properties/README.md
index 9c558e35..950a9981 100644
--- a/Lists and Libraries Management/GetSPOList Module to view and filter SPO list properties/README.md
+++ b/Lists and Libraries Management/GetSPOList Module to view and filter SPO list properties/README.md
@@ -1 +1,132 @@
-.
+New SharePoint Online Powershell cmdlet Get-SPOAllList which allows you to view and filter SPO list properties.
+
+
+
+There is no equivalent in Graphic User Interface (GUI) of this cmdlet
+
+
+
+## *Parameters*
+
+
+
+The cmdlet is using the following parameters:
+```
+ [string]$Username
+ ```
+The string specifies admin of the site
+```
+[string]$Url
+```
+Specifies the url of a site where you have the list
+```
+[string]$AdminPassword,
+```
+Admin's password
+```
+[bool]$IncludeSubsites=$false
+```
+Specifies whether the cmdlet should check for lists in the subsites as well, by default it is set to $false
+```
+[bool]$IncludeAllProperties=$false
+```
+Specifies whether you should view all the available properties or just the Title, Url and Created Date. By the default it is set to $false.
+
+
+
+## *Requirements*
+
+The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
+
+
+```powershell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+```
+
+
+## *Examples*
+
+
+
++ Get a list of all lists and libraries in a site
+```powershell
+Get-SPOList -Username user@domain.com -Url https://domain.sharepoint.com/sites/sitecollection/subsite -AdminPassword Pass
+```
+
+
+
+
++ Get a list of all lists and libraries in a site collection and its subsites
+```powershell
+Get-SPOList -Username user@domain.com -Url https://domain.sharepoint.com/sites/sitecollection/subsite -AdminPassword Pass -IncludeSubsites $true
+```
+
+
++ Export to CSV a list of all lists and libraries in a site collection and its subsites
+```powershell
+Get-SPOList -Username user@domain.com -Url https://domain.sharepoint.com/sites/sitecollection/subsite -AdminPassword Pass -IncludeSubsites $true | export-CSV -path c:\csv.csv
+```
+
+
++ Get a list of all lists and libraries with all their properties
+```powershell
+Get-SPOList -Username user@domain.com -Url https://domain.sharepoint.com -AdminPassword Pass -IncludeAllProperties $true
+```
+
+
+
++ Get a specific list
+```powershell
+Get-SPOList -Username user@domain.com -Url https://domain.sharepoint.com -AdminPassword Pass -IncludeAllProperties $true | where {$_.Title -eq "ccc"}
+```
+
+
+
+
+
+
+
+
++ Get lists based on criteria
+```powershell
+Get-SPOList -Username user@domain.com -Url https://domain.sharepoint.com -AdminPassword Pass -IncludeAllProperties $true | where {$_.Hidden -eq $true} | select Title, Created
+```
+
+
+
+
++ Get all document libraries
+
+The property that defines the type of list/library is called **BaseTemplate**. For all the ids check the [MSDN List Template Types](https://docs.microsoft.com/en-us/openspecs/sharepoint_protocols/ms-wssts/8bf797af-288c-4a1d-a14b-cf5394e636cf?redirectedfrom=MSDN)
+
+Get-SPOList -Username user@domain.com -Url https://domain.sharepoint.com -AdminPassword Pass -IncludeAllProperties $true | where {$_.BaseTemplate -eq 101} | select Title, Created
+
+
+
++ Get all lists and their corresponding types
+
+The property that defines the type of list/library is called **BaseTemplate**. For all the ids check the [MSDN List Template Types](https://docs.microsoft.com/en-us/openspecs/sharepoint_protocols/ms-wssts/8bf797af-288c-4a1d-a14b-cf5394e636cf?redirectedfrom=MSDN)
+
+Get-SPOList -Username user@domain.com -Url https://domain.sharepoint.com -AdminPassword Pass -IncludeAllProperties $true | where {$_.BaseTemplate -eq 101} | select Title, Created
+
+
+
+
+
+
+
+# **How not to use the cmdlet:**
+
+Get-SPOList -Username user@domain.com -Url https://domain.sharepoint.com -AdminPassword Pass | where {$_.Hidden -eq $false}
+
+
+
+If you don't load the properties, you cannot search by them!
+
+
+
+
+Enjoy and please share feedback!
+
From d48aba1c013e366148936d2ed17ffb759ef9c3d5 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:56:37 +0300
Subject: [PATCH 198/312] Update README.md
---
Lists and Libraries Management/README.md | 77 +++++++++++++++++++++++-
1 file changed, 76 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/README.md b/Lists and Libraries Management/README.md
index 9c558e35..e0431292 100644
--- a/Lists and Libraries Management/README.md
+++ b/Lists and Libraries Management/README.md
@@ -1 +1,76 @@
-.
+
+Lists and Libraries Management
+
+
+
+ * Allow list to be deleted
+ * Allow or disallow list items to appear in search
+ * Allow or disallow users to create folders
+ * Break inheritance for all SPO lists in a site
+ * Change search setting for all lists in a site
+ * Checkout
+ * Powershell
+ * Find all checked out files in SharePoint library and check them in
+ * Find all checked out files in SharePoint Online library and check them in
+ * Find all files in library checked out by a specific user and check them in
+ * Force checkout on a list
+ * Force document checkout on the whole tenant
+ * Force your users to checkout documents using Powershell
+ * Get the number of checked out files per list
+ * How many checked out files per user in a library
+ * SPServer
+ * Find all checked out files in SharePoint library and check them in
+ * Column Management
+ * Add a geolocation column
+ * Add a library column with file extension
+ * Add a library column with file name and extension
+ * Create a new choice column
+ * Create a new column in list
+ * Create new column with properties
+ * Get all columns associated to a SINGLE content type in a list
+ * Module for list column management
+ * Remove list column
+ * Create SPO list with a Powershell cmdlet
+ * Delete unique permissions for all lists in a site collection
+ * Delete unique permissions in all items in a large list (5000+ items)
+ * FolderStructure
+ * Copy folder structure across SharePoint Online sites
+ * Copy folder structure across SharePoint Online tenants
+ * Copy folder structure from one library to another
+ * Copy folder structure from one library to another (SharePoint Online) 2
+ * Get all event receivers on your lists in a site
+ * Get all lists not used since
+ * Get large SharePoint Online lists
+ * Get large SharePoint Online lists v2
+ * Get the number of files and folders in library
+ * Get-SPOListTemplates to retrieve list templates on a SharePoint Online site
+ * GetSPOList Module to view and filter SPO list properties
+ * GetSPOListCount cmdlet
+ * Modern or Classic
+ * Set all lists to New or Classic Experience
+ * Set single list to New or Classic Experience
+ * Verify which lists have the new UI
+ * Verify which lists have the new UI using Powershell and REST
+ * MultipleListsC#
+ * Powershell Module for Managing SPO Lists
+ * Set the direction of the reading order
+ * For a single list
+ * For All Lists
+ * Set the major version limit for all the lists and libraries (data loss involved)
+ * Versioning
+ * Create a report on all file versions in the library
+ * Create a report on file versions in library or folder
+ * Delete all previous file versions in a library
+ * Enable minor and major versions for all lists in one site
+ * Enable minor versions using Powershell and CSOM
+ * Enable versioning for all lists in one site
+ * Enable versioning for one list
+ * Get versioning settings for all lists
+ * Views
+ * Get all list view properties using view GUID
+ * Get all list view properties using view name
+ * Get all views from a single list and their properties
+ * Remove view from SharePoint Online list
+
+
+
From 90c259abfa725817be3a97ff7f043ca15b6a3098 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:57:05 +0300
Subject: [PATCH 199/312] Update README.md
---
Lists and Libraries Management/README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Lists and Libraries Management/README.md b/Lists and Libraries Management/README.md
index e0431292..8f3fa82a 100644
--- a/Lists and Libraries Management/README.md
+++ b/Lists and Libraries Management/README.md
@@ -1,4 +1,4 @@
-
+
Lists and Libraries Management
@@ -73,4 +73,4 @@
* Remove view from SharePoint Online list
-
+
From 1db01cc3301d5819f990596cec0b9743d1583c0d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:57:21 +0300
Subject: [PATCH 200/312] Update README.md
---
Lists and Libraries Management/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/README.md b/Lists and Libraries Management/README.md
index 8f3fa82a..ce51d899 100644
--- a/Lists and Libraries Management/README.md
+++ b/Lists and Libraries Management/README.md
@@ -1,5 +1,5 @@
-Lists and Libraries Management
+Lists and Libraries Management Inventory
From 2ada33896485d5447b769d182aa16a0e19e30497 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:58:04 +0300
Subject: [PATCH 201/312] Create README.md
---
Lists and Libraries Management/GetSPOListCount cmdlet/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/GetSPOListCount cmdlet/README.md
diff --git a/Lists and Libraries Management/GetSPOListCount cmdlet/README.md b/Lists and Libraries Management/GetSPOListCount cmdlet/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/GetSPOListCount cmdlet/README.md
@@ -0,0 +1 @@
+.
From 2f9c97ed14d82ee79c9256b1d53f695fe95e9ebd Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:58:13 +0300
Subject: [PATCH 202/312] Update README.md
---
.../GetSPOListCount cmdlet/README.md | 93 ++++++++++++++++++-
1 file changed, 92 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/GetSPOListCount cmdlet/README.md b/Lists and Libraries Management/GetSPOListCount cmdlet/README.md
index 9c558e35..8a148960 100644
--- a/Lists and Libraries Management/GetSPOListCount cmdlet/README.md
+++ b/Lists and Libraries Management/GetSPOListCount cmdlet/README.md
@@ -1 +1,92 @@
-.
+New SharePoint Online Powershell cmdlet Get-SPOListCount which allows you to get the number of SPO lists and libraries. In order to use the cmdlet, you have to import the module using [Import-Module](https://docs.microsoft.com/pl-pl/powershell/module/Microsoft.PowerShell.Core/Import-Module?view=powershell-5.1) cmdlet.
+
+
+
+There is no equivalent in Graphic User Interface (GUI) of this cmdlet
+
+### *Parameters*
+
+
+
+The cmdlet is using the following parameters:
+```
+ [string]$Username
+ ```
+The string specifies admin of the site
+```
+[string]$Url
+```
+Specifies the url of a site where you have the list
+```
+[string]$AdminPassword,
+```
+Admin's password
+```
+[bool]$IncludeSubsites=$false
+```
+Specifies whether the cmdlet should check for lists in the subsites as well, by default it is set to $false
+
+
+
+Requirements
+
+
+
+The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
+
+```powershell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+```
+
+
+Examples
+
+
+
++ Get a count of lists and libraries in a site
+```powershell
+Get-SPOListCount -Username user@domain.com -Url https://domain.sharepoint.com/sites/sitecollection/subsite -AdminPassword Pass
+```
+
+
++ Get a count of lists and libraries across a site collection and its subsites
+```powershell
+Get-SPOListCount -Username user@domain.com -Url https://domain.sharepoint.com/sites/sitecollection -AdminPassword Pass -IncludeSubsites $true
+```
+
+
+
++ Get a count of lists and libraries across a site collection and its subsites and export it to CSV file
+```powershell
+Get-SPOListCount -Username user@domain.com -Url https://domain.sharepoint.com/sites/sitecollection -AdminPassword Pass -IncludeSubsites $true | export-CSV C:\listcount.csv
+```
+
+
+
+
+
++ Get a count of lists and libraries across whole tenant
+```powershell
+$colls=Get-SPOSite
+
+for($i=0;$i -lt $colls.Count ;$i++) {Get-SPOListCount -Username user@domain.com -Url $colls[$i].Url -AdminPassword Pass -IncludeSubsites $true }
+```
+
+
+
+
+You get the count for all sites and subsite + the error for public site.
+
+
+
+Enjoy and please share feedback!
+
+
+
+### ***For other list management cmdlets:***
+
+[Set-List and 8 others](https://gallery.technet.microsoft.com/scriptcenter/Powershell-Module-for-b88bc2d9)
+
+[Get-SPOList to view and filter list properties](https://gallery.technet.microsoft.com/scriptcenter/GetSPOList-Module-to-view-cc4d3e9e)
From 8b953156d990058a27c301496137657151f3a63f Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:59:26 +0300
Subject: [PATCH 203/312] Create README.md
---
.../Set all lists to New or Classic Experience/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Modern or Classic/Set all lists to New or Classic Experience/README.md
diff --git a/Lists and Libraries Management/Modern or Classic/Set all lists to New or Classic Experience/README.md b/Lists and Libraries Management/Modern or Classic/Set all lists to New or Classic Experience/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Modern or Classic/Set all lists to New or Classic Experience/README.md
@@ -0,0 +1 @@
+.
From b96c6af043efd4fc41e3cfe2e8fd0136bd708fe3 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:59:38 +0300
Subject: [PATCH 204/312] Update README.md
---
.../README.md | 28 ++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Modern or Classic/Set all lists to New or Classic Experience/README.md b/Lists and Libraries Management/Modern or Classic/Set all lists to New or Classic Experience/README.md
index 9c558e35..45d9ed0f 100644
--- a/Lists and Libraries Management/Modern or Classic/Set all lists to New or Classic Experience/README.md
+++ b/Lists and Libraries Management/Modern or Classic/Set all lists to New or Classic Experience/README.md
@@ -1 +1,27 @@
-.
+Short Powershell that sets all lists to a chosen look: ClassicExperience (old UI), NewExperience (modern look) or Auto Setting.
+
+
+
+Old UI (ClassicExperience):
+
+
+
+Modern UI (NewExperience):
+
+
+
+In order to run the script, download, open the file and edit the 2 lines below:
+
+```PowerShell
+$username="t@testova365.onmicrosoft.com"
+$Url="https://testova365.sharepoint.com/sites/STS"
+```
+Choose the experience you want to set for your lists:
+NewExperience - modern UI
+ClassicExperience - old UI
+Auto
+```PowerShell
+Set-ExperienceOptions -Username $username -Url $Url -password $AdminPassword -ExperienceOption NewExperience
+ ```
+The script loops through ALL existing lists on the site and updates ALL of them (including default and hidden lists).
+
From 469eba6123c14f79304bf6c605d88858695d5519 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 16:59:54 +0300
Subject: [PATCH 205/312] Create README.md
---
.../Set single list to New or Classic Experience/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md
diff --git a/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md b/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md
@@ -0,0 +1 @@
+.
From 0099776151726bde99c3b30f2c58fb4c9619f09f Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 17:00:09 +0300
Subject: [PATCH 206/312] Update README.md
---
.../README.md | 45 ++++++++++++++++++-
1 file changed, 44 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md b/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md
index 9c558e35..1bc595a0 100644
--- a/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md
+++ b/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md
@@ -1 +1,44 @@
-.
+Short Powershell that sets a single SharePoint Online list to a chosen look: ClassicExperience (old UI), NewExperience (modern look) or Auto Setting.
+
+
+
+Old UI (ClassicExperience):
+
+
+
+Modern UI (NewExperience):
+
+
+
+
+
+
+
+
+
+In order to run the script, download, open the file and edit the 2 lines below:
+
+
+
+PowerShell
+$username="t@testova365.onmicrosoft.com"
+$Url="https://testova365.sharepoint.com/sites/STS"
+
+
+
+Choose the experience you want to set for your lists:
+NewExperience - modern UI
+ClassicExperience - old UI
+Auto
+PowerShell
+Set-ExperienceOptions -Username $username -Url $Url -password $AdminPassword -ExperienceOption NewExperience
+
+
+
+
+
+The script and several of its variations are also available on GitHub: https://github.com/PowershellScripts/SharePoint-Online-Modern-or-Classic-Experience
+
+
+
+Don't hesitate to report issues or request new features/scenarios!
From 8c082d2c834cfb40c580d56f8208957e69002540 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 17:00:44 +0300
Subject: [PATCH 207/312] Update description.md
---
.../description.md | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/description.md b/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/description.md
index 1bc595a0..7406db86 100644
--- a/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/description.md
+++ b/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/description.md
@@ -4,14 +4,11 @@ Short Powershell that sets a single SharePoint Online list to a chosen look: Cla
Old UI (ClassicExperience):
-
+
Modern UI (NewExperience):
-
-
-
-
+
From 272245ad4613269ca72f528791f78468dc5857f4 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 17:00:55 +0300
Subject: [PATCH 208/312] Update README.md
---
.../README.md | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md b/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md
index 1bc595a0..df526277 100644
--- a/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md
+++ b/Lists and Libraries Management/Modern or Classic/Set single list to New or Classic Experience/README.md
@@ -1,17 +1,13 @@
Short Powershell that sets a single SharePoint Online list to a chosen look: ClassicExperience (old UI), NewExperience (modern look) or Auto Setting.
-
Old UI (ClassicExperience):
-
+
Modern UI (NewExperience):
-
-
-
-
+
From 67d765a2162a6750e46b20d6b46aa5eb45989b2d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 17:01:21 +0300
Subject: [PATCH 209/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI using Powershell and REST/README.md
diff --git a/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI using Powershell and REST/README.md b/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI using Powershell and REST/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI using Powershell and REST/README.md
@@ -0,0 +1 @@
+.
From 87f08a36fa8d94d5d56f2f4effab08daa51908ad Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 17:01:49 +0300
Subject: [PATCH 210/312] Update README.md
---
.../README.md | 43 ++++++++++++++++++-
1 file changed, 42 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI using Powershell and REST/README.md b/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI using Powershell and REST/README.md
index 9c558e35..b32385d9 100644
--- a/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI using Powershell and REST/README.md
+++ b/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI using Powershell and REST/README.md
@@ -1 +1,42 @@
-.
+Short Powershell that checks which SharePoint Online list has what experience setting.
+
+
+
+Old UI (ClassicExperience):
+
+
+
+Modern UI (NewExperience):
+
+
+
+In order to run the script, download, open the file and edit the 2 lines below:
+
+
+
+```PowerShell
+$username="t@testova365.onmicrosoft.com"
+$Url="https://testova365.sharepoint.com/sites/STS"
+```
+The script loops through ALL existing lists on the site (including default and hidden lists).
+
+
+Expected results:
+
+
+
+ 1 - NewExperience
+
+2 - Classic Experience
+
+0 - Auto
+
+
+
+You can also export the results to a .csv file:
+
+
+
+```PowerShell
+E:\technet\ListExperiences\GetExperienceWithREST.ps1 | export-csv c:\ListExperiences.csv
+ ```
From 6fb503492689d550ddf6ce14253ec2d989d803c7 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 17:02:08 +0300
Subject: [PATCH 211/312] Create README.md
---
.../Verify which lists have the new UI/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/README.md
diff --git a/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/README.md b/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/README.md
@@ -0,0 +1 @@
+.
From 0da6be1310c627c90c7a5f12909ce07d31d98309 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 17:02:24 +0300
Subject: [PATCH 212/312] Update README.md
---
.../README.md | 48 ++++++++++++++++++-
1 file changed, 47 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/README.md b/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/README.md
index 9c558e35..5ccfe001 100644
--- a/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/README.md
+++ b/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/README.md
@@ -1 +1,47 @@
-.
+Short Powershell that checks which SharePoint Online list has what experience setting.
+
+
+
+## Old UI (ClassicExperience):
+
+
+
+## Modern UI (NewExperience):
+
+
+
+## In order to run the script, download, open the file and edit the 2 lines below:
+
+```PowerShell
+$username="t@testova365.onmicrosoft.com"
+$Url="https://testova365.sharepoint.com/sites/STS"
+```
+The script loops through ALL existing lists on the site (including default and hidden lists).
+
+
+## Expected results:
+
+
+
+## You can also export the results to a .csv file:
+
+
+
+```PowerShell
+E:\technet\ListExperiences\GetExperience.ps1 | export-csv c:\ListExperiences.csv
+ ```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
From 437831ce207b8979076c27e85e7e84b83ef6fef4 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 26 Sep 2020 17:02:33 +0300
Subject: [PATCH 213/312] Update description.md
---
.../description.md | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/description.md b/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/description.md
index 5ccfe001..64c33cad 100644
--- a/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/description.md
+++ b/Lists and Libraries Management/Modern or Classic/Verify which lists have the new UI/description.md
@@ -32,16 +32,3 @@ E:\technet\ListExperiences\GetExperience.ps1 | export-csv c:\ListExperiences.cs
```
-
-
-
-
-
-
-
-
-
-
-
-
-
From ae35ad6771968b465d6277142f5ab96b80ca0bb9 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 27 Sep 2020 13:05:39 +0300
Subject: [PATCH 214/312] Update description.md
---
.../description.md | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/Permissions/Powershell/Break role inheritance for a single list/description.md b/Permissions/Powershell/Break role inheritance for a single list/description.md
index 4a7b3011..a4449c6d 100644
--- a/Permissions/Powershell/Break role inheritance for a single list/description.md
+++ b/Permissions/Powershell/Break role inheritance for a single list/description.md
@@ -15,15 +15,17 @@ How to use?
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
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"
-
+```
3. Enter the data to your tenant. Do not enter your password:
-PowerShell
+```PowerShell
$username = "anaida@etr546.onmicrosoft.com"
$siteurl = "https://etr546.sharepoint.com/sites/testflow"
$listTitle = "Customers"
+```
4. Do not enter your password. You will be prompted for it during the script execution.
5. Run the script.
+
From 333fcf7e887778df00372ec2746383bde915f16f Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 27 Sep 2020 13:05:47 +0300
Subject: [PATCH 215/312] Update README.md
---
.../README.md | 32 ++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/Permissions/Powershell/Break role inheritance for a single list/README.md b/Permissions/Powershell/Break role inheritance for a single list/README.md
index 9c558e35..a4449c6d 100644
--- a/Permissions/Powershell/Break role inheritance for a single list/README.md
+++ b/Permissions/Powershell/Break role inheritance for a single list/README.md
@@ -1 +1,31 @@
-.
+Powershell script to set unique permissions on a single SharePoint Online list.
+
+It breaks role inheritance for one specified list.
+
+
+
+
+
+How to use?
+
+
+1. Download and open the file.
+
+2. Enter the paths to appropriate SDKs:
+
+
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+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"
+```
+ 3. Enter the data to your tenant. Do not enter your password:
+```PowerShell
+$username = "anaida@etr546.onmicrosoft.com"
+$siteurl = "https://etr546.sharepoint.com/sites/testflow"
+$listTitle = "Customers"
+```
+ 4. Do not enter your password. You will be prompted for it during the script execution.
+ 5. Run the script.
+
From 0e8b6cc91feb570771f25bbd310ccd0a535e8da6 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Tue, 29 Sep 2020 19:19:58 +0300
Subject: [PATCH 216/312] Update README.md
---
Managed Metadata/README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/Managed Metadata/README.md b/Managed Metadata/README.md
index ac860a31..bd812ad1 100644
--- a/Managed Metadata/README.md
+++ b/Managed Metadata/README.md
@@ -1,2 +1,3 @@
.
.
+.
From b9b442cd4ff96dfb4362aa6f96d0dbf3a5bac24f Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 2 Oct 2020 16:54:30 +0300
Subject: [PATCH 217/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md
diff --git a/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md b/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md
@@ -0,0 +1 @@
+.
From 319d51bfc95f7dfe4335efb0e5abac4bef7b1b76 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 3 Oct 2020 14:48:11 +0300
Subject: [PATCH 218/312] Create README.md
---
.../Remove permissions from SharePoint Online items/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Items Management/Remove permissions from SharePoint Online items/README.md
diff --git a/Items Management/Remove permissions from SharePoint Online items/README.md b/Items Management/Remove permissions from SharePoint Online items/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Items Management/Remove permissions from SharePoint Online items/README.md
@@ -0,0 +1 @@
+.
From 3b99b3dd3323f2f2c8f0a5396d292e09679cba70 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 4 Oct 2020 21:25:15 +0300
Subject: [PATCH 219/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Managed Metadata/Pull all groups, termsets, terms from your default SharePoint Online termstore/README.md
diff --git a/Managed Metadata/Pull all groups, termsets, terms from your default SharePoint Online termstore/README.md b/Managed Metadata/Pull all groups, termsets, terms from your default SharePoint Online termstore/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Managed Metadata/Pull all groups, termsets, terms from your default SharePoint Online termstore/README.md
@@ -0,0 +1 @@
+.
From 687a45485afc810831fd3d1e8670444fc276c533 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Tue, 6 Oct 2020 22:18:07 +0300
Subject: [PATCH 220/312] Update description.md
---
.../Audit Sharepoint folder structure to XML/description.md | 3 ---
1 file changed, 3 deletions(-)
diff --git a/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/description.md b/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/description.md
index d38127c4..9e03fe35 100644
--- a/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/description.md
+++ b/File Management/Audit folder structure/Audit Sharepoint folder structure to XML/description.md
@@ -9,9 +9,6 @@ The audit may come in handy during migration, upgrades or company restructuring.
This Powershell script allows you to investigate into your folder structure in a single library and creates an XML file as a report.
-
-
-
In order to use the script you need to modify the following lines:
From ce4e515223f514ebffa5f7adee456c7be8077133 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Mon, 12 Oct 2020 19:08:39 +0300
Subject: [PATCH 221/312] Create README.md
---
File Management/Audit folder structure/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 File Management/Audit folder structure/README.md
diff --git a/File Management/Audit folder structure/README.md b/File Management/Audit folder structure/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/File Management/Audit folder structure/README.md
@@ -0,0 +1 @@
+.
From 834cf8a5c82844b3723a1c30a39d1305cf0e155c Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 14 Oct 2020 21:15:31 +0300
Subject: [PATCH 222/312] Update TaxonomyModule.psm1
---
.../TaxonomyModule.psm1 | 1 -
1 file changed, 1 deletion(-)
diff --git a/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/TaxonomyModule.psm1 b/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/TaxonomyModule.psm1
index 3e56a41d..c1ca53ae 100644
--- a/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/TaxonomyModule.psm1
+++ b/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/TaxonomyModule.psm1
@@ -28,7 +28,6 @@
$term=$set.CreateTerm($Term, $TermLanguage,$guid)
$termstore.CommitAll()
-
$ctx.ExecuteQuery()
}
From e06bfddb59fe2d5cdf540bf89269f62ea8fed74d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 16 Oct 2020 16:55:28 +0300
Subject: [PATCH 223/312] Update NewSPOListItem.psm1
---
.../Create new list item using Powershell/NewSPOListItem.psm1 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Items Management/Create new list item using Powershell/NewSPOListItem.psm1 b/Items Management/Create new list item using Powershell/NewSPOListItem.psm1
index fc64496c..b57130e4 100644
--- a/Items Management/Create new list item using Powershell/NewSPOListItem.psm1
+++ b/Items Management/Create new list item using Powershell/NewSPOListItem.psm1
@@ -16,7 +16,7 @@ function New-SPOListItem{
[string]$AdditionalValue=""
)
- $password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
+ $password = ConvertTo-SecureString -string $AdminPassword -AsPlainText -Force
$ctx=New-Object Microsoft.SharePoint.Client.ClientContext($Url)
$ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username, $password)
$ctx.Load($ctx.Web)
From c3debcc10ed6e86a046176373acba8a131c7e2be Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 31 Oct 2020 14:17:44 +0200
Subject: [PATCH 224/312] Update README.md
---
Managed Metadata/README.md | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/Managed Metadata/README.md b/Managed Metadata/README.md
index bd812ad1..e84f5917 100644
--- a/Managed Metadata/README.md
+++ b/Managed Metadata/README.md
@@ -1,3 +1 @@
-.
-.
-.
+Cmdlets and scripts related to taxonomy.
From 8786a1cc2aeaa9beb9f026a585cd94bcedf0ba4c Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 1 Nov 2020 14:17:03 +0200
Subject: [PATCH 225/312] Create README.md
---
.../Create a new SharePoint Online taxonomy term/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Managed Metadata/Create a new SharePoint Online taxonomy term/README.md
diff --git a/Managed Metadata/Create a new SharePoint Online taxonomy term/README.md b/Managed Metadata/Create a new SharePoint Online taxonomy term/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Managed Metadata/Create a new SharePoint Online taxonomy term/README.md
@@ -0,0 +1 @@
+.
From 98d3154d88bcd716083d4fa641cbf88fb344c9a1 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 1 Nov 2020 14:17:27 +0200
Subject: [PATCH 226/312] Update README.md
---
.../README.md | 32 ++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/Managed Metadata/Create a new SharePoint Online taxonomy term/README.md b/Managed Metadata/Create a new SharePoint Online taxonomy term/README.md
index 9c558e35..a777c65a 100644
--- a/Managed Metadata/Create a new SharePoint Online taxonomy term/README.md
+++ b/Managed Metadata/Create a new SharePoint Online taxonomy term/README.md
@@ -1 +1,31 @@
-.
+A short script to create a single term in a specific term set of the default taxonomy store. The script applies to SharePoint Online tenants.
+
+
+
+You need to open the file and specify the following data:
+
+
+
+```PowerShell
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="trial@trial.onmicrosoft.com"
+$Url="https://trial-admin.sharepoint.com"
+$TermSetGuid="ee09533d-4ea4-49b2-b328-fcfb72126568"
+$Term="POwershellTermmik2"
+$TermLanguage=1033
+```
+
+
+The script requires SharePoint Online SDK. Open the file and refer the appropriate libraries here:
+
+
+
+```PowerShell
+ #Paths to SDK
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Taxonomy.dll"
+```
+The script can be adapted to create multiple terms for test purposes.
+
From 8d74111f81e74592893e8a571419da27f174a72b Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Tue, 3 Nov 2020 16:09:35 +0200
Subject: [PATCH 227/312] Update TaxonomyModule.psm1
---
.../TaxonomyModule.psm1 | 1 -
1 file changed, 1 deletion(-)
diff --git a/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/TaxonomyModule.psm1 b/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/TaxonomyModule.psm1
index c1ca53ae..f25b0e44 100644
--- a/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/TaxonomyModule.psm1
+++ b/Managed Metadata/Taxonomy cmdlets module to manage your term store in SharePoint Online/TaxonomyModule.psm1
@@ -43,7 +43,6 @@ function Get-SPOTermGroups{
$groups=$termstore.Groups
$ctx.Load($groups)
-
$ctx.ExecuteQuery()
foreach($group in $groups){
From 15ae04fea07ca2d6a5999a56220f3ddd4f3ec817 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 4 Nov 2020 20:47:17 +0200
Subject: [PATCH 228/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 OTHER/Uninstall unwanted app from your site using Powershell/README.md
diff --git a/OTHER/Uninstall unwanted app from your site using Powershell/README.md b/OTHER/Uninstall unwanted app from your site using Powershell/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/OTHER/Uninstall unwanted app from your site using Powershell/README.md
@@ -0,0 +1 @@
+.
From e200c25ead15301d7e440762dc4fa9748387fc0c Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 5 Nov 2020 20:44:52 +0200
Subject: [PATCH 229/312] Update README.md
---
.../README.md | 32 ++++++++++++++++++-
1 file changed, 31 insertions(+), 1 deletion(-)
diff --git a/Managed Metadata/Pull all groups, termsets, terms from your default SharePoint Online termstore/README.md b/Managed Metadata/Pull all groups, termsets, terms from your default SharePoint Online termstore/README.md
index 9c558e35..1c594634 100644
--- a/Managed Metadata/Pull all groups, termsets, terms from your default SharePoint Online termstore/README.md
+++ b/Managed Metadata/Pull all groups, termsets, terms from your default SharePoint Online termstore/README.md
@@ -1 +1,31 @@
-.
+A short script for SharePoint Online tenants to retrieve all terms from the termstore.
+
+The script iterates through Groups, TermSets and Terms, loading properties of each and displaying them.
+
+Before running the script, open the file and enter your tenant's data:
+
+```PowerShell
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="t@trial456.onmicrosoft.com"
+$Url="https://trial456-admin.sharepoint.com"
+ ```
+
+
+The script requires SharePoint Online SDK. Download and install the libraries and refer them in the script. In the most common scenario all that is required is changing **15\ISAPI** value to **16\ISAPI**:
+
+
+
+```PowerShell
+ #Paths to SDK
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Taxonomy.dll"
+ ```
+
+
+
+Expected results:
+
+
+
From db0547cec7223cf53542a26201f76440f7d7aca6 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 7 Nov 2020 20:22:39 +0200
Subject: [PATCH 230/312] Update README.md
---
.../Create a new SharePoint Online taxonomy term/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Managed Metadata/Create a new SharePoint Online taxonomy term/README.md b/Managed Metadata/Create a new SharePoint Online taxonomy term/README.md
index a777c65a..a58ae050 100644
--- a/Managed Metadata/Create a new SharePoint Online taxonomy term/README.md
+++ b/Managed Metadata/Create a new SharePoint Online taxonomy term/README.md
@@ -17,7 +17,7 @@ $TermLanguage=1033
```
-The script requires SharePoint Online SDK. Open the file and refer the appropriate libraries here:
+You need SharePoint Online SDK torun the script. Open the file and refer the appropriate libraries here:
From 13a466dcf6e2d449bb4e2f32176d9d2d442e792c Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 8 Nov 2020 13:33:51 +0200
Subject: [PATCH 231/312] Update README.md
---
.../README.md | 36 ++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Break inheritance for all SPO lists in a site/README.md b/Lists and Libraries Management/Break inheritance for all SPO lists in a site/README.md
index 9c558e35..9e5d06b5 100644
--- a/Lists and Libraries Management/Break inheritance for all SPO lists in a site/README.md
+++ b/Lists and Libraries Management/Break inheritance for all SPO lists in a site/README.md
@@ -1 +1,35 @@
-.
+Powershell script to break inherited permissions for all lists in a site collection.
+
+**Before you run it, you have to modify the last line of the script!**
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+
+
+Set-SPOListBreakRoleInheritance -Username "trial@trialtrial123.onmicrosoft.com" -Url "https://trialtrial123.sharepoint.com" -AdminPassword "Pass" -IncludeSubsites $false
+ ```
+
++ Enter your credentials and the site where you want to modify the inheritance.
++ Set -IncludeSubsites $true if you want to break inheritance also in the subsites
++ Set -IncludeSubsites $false if you want to break inheritance only in the main/root site
++ Verify if the [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038) is installed in the same location on your computer
+
+
+
+## **Related scripts:**
+
+[Restore inheritance for all lists](https://gallery.technet.microsoft.com/scriptcenter/Delete-Unique-Permissions-91be8246)
+
+[Modify inherited permissions for a SharePoint Online site (module)](https://gallery.technet.microsoft.com/scriptcenter/Modify-Web-Inherited-125aaa54)
+
+[Modify list permissions with Powershell cmdlets (module)](https://gallery.technet.microsoft.com/scriptcenter/Powershell-Module-for-b88bc2d9)
+
+[Delete unique permissions (C# program)](https://gallery.technet.microsoft.com/scriptcenter/ResetRoleInhertienace-04f5c544)
+
+[Get lists with unique permissions (C# program)](https://gallery.technet.microsoft.com/scriptcenter/Get-Lists-with-Unique-90c4321b)
+
+
+Enjoy and please share your comments and questions!
From 72e1777af5d6e2fc343345dbaf5a5a4c3fa33dfc Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 11 Nov 2020 19:24:29 +0200
Subject: [PATCH 232/312] Update AllowListDeletion.ps1
---
.../Allow list to be deleted/AllowListDeletion.ps1 | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/Lists and Libraries Management/Allow list to be deleted/AllowListDeletion.ps1 b/Lists and Libraries Management/Allow list to be deleted/AllowListDeletion.ps1
index 18adcd8b..973f7e0e 100644
--- a/Lists and Libraries Management/Allow list to be deleted/AllowListDeletion.ps1
+++ b/Lists and Libraries Management/Allow list to be deleted/AllowListDeletion.ps1
@@ -26,11 +26,11 @@ param (
}
$ctx.Load($ctx.Site)
- $lista=$ctx.Web.Lists.GetByTitle($ListTitle)
- $ctx.Load($lista)
+ $list=$ctx.Web.Lists.GetByTitle($ListTitle)
+ $ctx.Load($list)
$ctx.ExecuteQuery()
- $lista.AllowDeletion = $false
- $lista.Update()
+ $list.AllowDeletion = $false
+ $list.Update()
$ctx.ExecuteQuery()
@@ -48,4 +48,4 @@ $Url="https://etr56.sharepoint.com/sites/testflow"
$ListTitle="Customers"
-Allow-SPOListDeletion -Username $Username -AdminPassword $AdminPassword -Url $Url -ListTitle $ListTitle
\ No newline at end of file
+Allow-SPOListDeletion -Username $Username -AdminPassword $AdminPassword -Url $Url -ListTitle $ListTitle
From 501d8558c43bc18aaee16ada699509f84ca03a12 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 13 Nov 2020 18:39:20 +0200
Subject: [PATCH 233/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 OneDrive for Business/Globally set OneDrive for Business Access Requests and Members Can Share/README.md
diff --git a/OneDrive for Business/Globally set OneDrive for Business Access Requests and Members Can Share/README.md b/OneDrive for Business/Globally set OneDrive for Business Access Requests and Members Can Share/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/OneDrive for Business/Globally set OneDrive for Business Access Requests and Members Can Share/README.md
@@ -0,0 +1 @@
+.
From 70a164125755103ef4b0a3d08d2c0c607387850f Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 14 Nov 2020 19:27:39 +0200
Subject: [PATCH 234/312] Update SharingAllowedDomainList.ps1
---
.../SharingAllowedDomainList.ps1 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Tenant Settings/Allow external sharing only with specific domains/SharingAllowedDomainList.ps1 b/Tenant Settings/Allow external sharing only with specific domains/SharingAllowedDomainList.ps1
index 6d2520cc..00c97313 100644
--- a/Tenant Settings/Allow external sharing only with specific domains/SharingAllowedDomainList.ps1
+++ b/Tenant Settings/Allow external sharing only with specific domains/SharingAllowedDomainList.ps1
@@ -1,4 +1,4 @@
-function Set-SiteColl{
+function Set-TenantSharing{
param (
[Parameter(Mandatory=$true,Position=1)]
[string]$Username,
@@ -35,4 +35,4 @@ $username="admin@TENANT.onmicrosoft.com"
$Url="https://TENANT-admin.sharepoint.com"
$AllowDomainList="test.com madeup.com"
-Set-SiteColl -Username $username -Url $Url -password $AdminPassword -AllowDomainList $AllowDomainList
+Set-TenantSharing -Username $username -Url $Url -password $AdminPassword -AllowDomainList $AllowDomainList
From 6372b528fb8d22e4dbe5199e183fdb148ab13f8a Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 15 Nov 2020 10:18:52 +0200
Subject: [PATCH 235/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Tenant Settings/Set default link type for SharePoint Online tenant sharing settings/README.md
diff --git a/Tenant Settings/Set default link type for SharePoint Online tenant sharing settings/README.md b/Tenant Settings/Set default link type for SharePoint Online tenant sharing settings/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Tenant Settings/Set default link type for SharePoint Online tenant sharing settings/README.md
@@ -0,0 +1 @@
+.
From 656eff27f554b3e9e78d254f955f4358d88e0744 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Mon, 16 Nov 2020 23:00:04 +0200
Subject: [PATCH 236/312] Create README.md
---
.../Delete all web parts from a single page/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Pages/ClassicWebparts/Delete all web parts from a single page/README.md
diff --git a/Pages/ClassicWebparts/Delete all web parts from a single page/README.md b/Pages/ClassicWebparts/Delete all web parts from a single page/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Pages/ClassicWebparts/Delete all web parts from a single page/README.md
@@ -0,0 +1 @@
+.
From 94a680a97a9f4223c102390f4ca99750cae61ab9 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 18 Nov 2020 23:02:38 +0200
Subject: [PATCH 237/312] Create README.md
---
OTHER/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 OTHER/README.md
diff --git a/OTHER/README.md b/OTHER/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/OTHER/README.md
@@ -0,0 +1 @@
+.
From 2116984f90e9a582b0740458d89e02cad3f8bd66 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 19 Nov 2020 23:16:28 +0200
Subject: [PATCH 238/312] Update readme.md
---
Licensing/Check User Licenses using plan type/readme.md | 1 -
1 file changed, 1 deletion(-)
diff --git a/Licensing/Check User Licenses using plan type/readme.md b/Licensing/Check User Licenses using plan type/readme.md
index 122e9903..a36717b8 100644
--- a/Licensing/Check User Licenses using plan type/readme.md
+++ b/Licensing/Check User Licenses using plan type/readme.md
@@ -20,7 +20,6 @@ If you have multiple subscriptions in your tenant and would like to check a part
3. In the first lines you see:
-
```PowerShell
$PlanToCheck="Exchange"
From da361b3f7a36ad7c8c5ee8d7286359079a8ebb79 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 20 Nov 2020 21:21:40 +0200
Subject: [PATCH 239/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 OneDrive for Business/Add BCC to all sharing invitations in OneDrive for Business/README.md
diff --git a/OneDrive for Business/Add BCC to all sharing invitations in OneDrive for Business/README.md b/OneDrive for Business/Add BCC to all sharing invitations in OneDrive for Business/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/OneDrive for Business/Add BCC to all sharing invitations in OneDrive for Business/README.md
@@ -0,0 +1 @@
+.
From 91c0d53b9bb0b8a4c9d0ae883ee956cdeb9249a0 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 20 Nov 2020 21:22:09 +0200
Subject: [PATCH 240/312] Update README.md
---
.../README.md | 30 ++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/OneDrive for Business/Add BCC to all sharing invitations in OneDrive for Business/README.md b/OneDrive for Business/Add BCC to all sharing invitations in OneDrive for Business/README.md
index 9c558e35..a4152221 100644
--- a/OneDrive for Business/Add BCC to all sharing invitations in OneDrive for Business/README.md
+++ b/OneDrive for Business/Add BCC to all sharing invitations in OneDrive for Business/README.md
@@ -1 +1,29 @@
-.
+Short Powershell script to send bcc copies to all sharing invitations send from users' OneDrives for Business. The script uses CSOM with December 2015 update.
+
+## How to use?
+
+- Download and open the .ps1 file.
+- Add correct SharePoint Online SDK libraries:
+
+
+```PowerShell
+#Paths to SDK
+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\SharePoint Client Components\16.0\Assemblies\Microsoft.Online.SharePoint.Client.Tenant.dll"
+```
+- Enter the correct url, and admin login. Under InvitationsList, enter the email addresses that you want to add in BCC to every sharing invitation in your users' OneDrive for Business. You will be additionally prompted for the password. Do not enter it in the file:
+```PowerShell
+ $spoTenant.BccExternalSharingInvitationsList={arleta.wanat@SomeFakeAdresse.com}
+
+
+
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="admin@TENANT.onmicrosoft.com"
+$Url="https://TENANT-admin.sharepoint.com"
+ ```
+- Run the script
+
+After the setting takes place, the BCC emails will start receiving copies of the sharing invitations with Invited person's email in the "TO" field and inviter's in "CC":
+
+
From a08563f652bc40fb89bee3bb8693c773d0a33ac4 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 21 Nov 2020 20:08:13 +0200
Subject: [PATCH 241/312] Update README.md
---
.../Declare files as records/README.md | 39 ++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)
diff --git a/File Management/Records Management/Declare files as records/README.md b/File Management/Records Management/Declare files as records/README.md
index 9c558e35..8cb80003 100644
--- a/File Management/Records Management/Declare files as records/README.md
+++ b/File Management/Records Management/Declare files as records/README.md
@@ -1 +1,38 @@
-.
+A short script to declare all items from a list as records.
+
+
+
+The script retrieves all items from the list, verifies whether they are not declared as records, and if yes, declares them.
+
+While executing, it displays the Name and Server Relative Url of the files.
+
+
+
+
+
+The script requires the newest libraries. The required libraries can be downloaded from
+
+https://www.microsoft.com/en-us/download/details.aspx?id=42038
+
+
+
+
+
+You need to enter your tenant's data before running the script and paths to SDK.
+
+
+
+```PowerShell
+#Paths to SDK
+Add-Type -Path "H:\Libraries\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "H:\Libraries\Microsoft.SharePoint.Client.Runtime.dll"
+Add-Type -Path "H:\Libraries\Microsoft.Office.Client.Policy.dll"
+
+
+
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="t@testova365.onmicrosoft.com"
+$Url="https://testova365.sharepoint.com/sites/STS"
+$ListTitle="VersionTest"
+```
From e98e6783a96cf2b6456cd55a4783d3a0ac599c6b Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 22 Nov 2020 17:52:24 +0200
Subject: [PATCH 242/312] Update
EnableVersioningForAllODBListsForSelectedUsers.ps1
---
.../EnableVersioningForAllODBListsForSelectedUsers.ps1 | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/EnableVersioningForAllODBListsForSelectedUsers.ps1 b/OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/EnableVersioningForAllODBListsForSelectedUsers.ps1
index ca969413..f967bf10 100644
--- a/OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/EnableVersioningForAllODBListsForSelectedUsers.ps1
+++ b/OneDrive for Business/Enable versioning for all lists in selected OneDrive sites/EnableVersioningForAllODBListsForSelectedUsers.ps1
@@ -71,7 +71,6 @@ $Global:csv=@()
foreach($user in $users)
{
-
if($user.Username.Contains('@'))
{
$persweb=$user.Username.Replace(".","_").Replace("@","_")
@@ -82,9 +81,9 @@ foreach($user in $users)
#Add the following line if you want to assign yourself, administrator or another user access to other users' personal sites
#Set-SPOUser -Site $AdminUrl -IsSiteCollectionAdmin $true -LoginName t@trial765.onmicrosoft.com
- Set-SPOListVersioning -EnableVersioning $EnableVersioning -Urelek $AdminUrl
+ Set-SPOListVersioning -EnableVersioning $EnableVersioning -Urelek $AdminUrl
}
}
# Specify the path where the log file will be published
-$Global:csv | Export-Csv -Path C:\Users\Public\Versioning.csv
\ No newline at end of file
+$Global:csv | Export-Csv -Path C:\Users\Public\Versioning.csv
From 6341410e84b50171e4f9ca54bdd762669349d154 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Tue, 24 Nov 2020 21:42:30 +0200
Subject: [PATCH 243/312] Create README.md
---
.../Update locale id for all personal sites/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 OneDrive for Business/Update locale id for all personal sites/README.md
diff --git a/OneDrive for Business/Update locale id for all personal sites/README.md b/OneDrive for Business/Update locale id for all personal sites/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/OneDrive for Business/Update locale id for all personal sites/README.md
@@ -0,0 +1 @@
+.
From 3746a95e2cb18a68804bf8aaba12669dda3f7cb5 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Tue, 24 Nov 2020 21:42:47 +0200
Subject: [PATCH 244/312] Update README.md
---
.../README.md | 58 ++++++++++++++++++-
1 file changed, 57 insertions(+), 1 deletion(-)
diff --git a/OneDrive for Business/Update locale id for all personal sites/README.md b/OneDrive for Business/Update locale id for all personal sites/README.md
index 9c558e35..e4c321ed 100644
--- a/OneDrive for Business/Update locale id for all personal sites/README.md
+++ b/OneDrive for Business/Update locale id for all personal sites/README.md
@@ -1 +1,57 @@
-.
+## Acknowledegement
+The script uses [Vadim Gremyachev's](https://sharepoint.stackexchange.com/users/10610/vadim-gremyachev) Invoke-LoadMethod published [here](https://sharepoint.stackexchange.com/questions/126221/spo-retrieve-hasuniqueroleassignements-property-using-powershell)
+
+
+
+
+
+## Description
+The script updates locale id in regional settings of all personal sites to which you have access. The locale id can later be verified by going to Site Settings>Regional Settings.
+
+
+
+The script requires the following libraries:
+
+
+
+```PowerShell
+ # Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client.Runtime\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.Runtime.dll"
+```
+
+
+
+
+
+
+Enter the correct data and specify the locale id you'd like to set:
+
+
+
+```PowerShell
+# Insert the credentials and the name of the admin site
+$Username="admin@tenant.onmicrosoft.com"
+$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
+Connect-SPOService https://tenant-admin.sharepoint.com -Credential $Username
+$myhost="https://tenant-my.sharepoint.com"
+$LocaleID=1033
+```
+
+
+
+
+
+
+If you are not currently an Administrator of the user's personal site, you can gain access using:
+
+```PowerShell
+Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $true
+```
+
+
+In order to use the cmdlet, you can either modify the ```.ps1``` file or write a separate script.
+
+
+
+
From 6c2f49c257e0f2c90096976adf9c79240bffc9f1 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Tue, 24 Nov 2020 21:43:01 +0200
Subject: [PATCH 245/312] Update description.md
---
.../description.md | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/OneDrive for Business/Update locale id for all personal sites/description.md b/OneDrive for Business/Update locale id for all personal sites/description.md
index e4c321ed..9178d50a 100644
--- a/OneDrive for Business/Update locale id for all personal sites/description.md
+++ b/OneDrive for Business/Update locale id for all personal sites/description.md
@@ -21,14 +21,8 @@ Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.
```
-
-
-
-
Enter the correct data and specify the locale id you'd like to set:
-
-
```PowerShell
# Insert the credentials and the name of the admin site
$Username="admin@tenant.onmicrosoft.com"
@@ -39,9 +33,6 @@ $LocaleID=1033
```
-
-
-
If you are not currently an Administrator of the user's personal site, you can gain access using:
@@ -53,5 +44,3 @@ Set-SPOUser -Site $urelek -LoginName $username -IsSiteCollectionAdmin $true
In order to use the cmdlet, you can either modify the ```.ps1``` file or write a separate script.
-
-
From d7d6e74da8eeba70747a8fbf57305e1180da8d27 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 25 Nov 2020 23:31:28 +0200
Subject: [PATCH 246/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 File Management/Powershell cmdlet for getting the number of files in a folder/README.md
diff --git a/File Management/Powershell cmdlet for getting the number of files in a folder/README.md b/File Management/Powershell cmdlet for getting the number of files in a folder/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/File Management/Powershell cmdlet for getting the number of files in a folder/README.md
@@ -0,0 +1 @@
+.
From d7a29139f475b46114cda3489a064d32387ee584 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 29 Nov 2020 13:54:10 +0200
Subject: [PATCH 247/312] Create README.md
---
.../Allow or disallow list items to appear in search/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Allow or disallow list items to appear in search/README.md
diff --git a/Lists and Libraries Management/Allow or disallow list items to appear in search/README.md b/Lists and Libraries Management/Allow or disallow list items to appear in search/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Allow or disallow list items to appear in search/README.md
@@ -0,0 +1 @@
+.
From 90d8022baf098ac2e08f59cd7d3cdbd1f67a30b9 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Mon, 30 Nov 2020 20:38:09 +0200
Subject: [PATCH 248/312] Update README.md
---
.../README.md | 29 ++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Allow or disallow list items to appear in search/README.md b/Lists and Libraries Management/Allow or disallow list items to appear in search/README.md
index 9c558e35..cb651248 100644
--- a/Lists and Libraries Management/Allow or disallow list items to appear in search/README.md
+++ b/Lists and Libraries Management/Allow or disallow list items to appear in search/README.md
@@ -1 +1,28 @@
-.
+A short Powershell script to allow or disallow crawling on a SharePoint Online list.
+
+ It corresponds to the Search setting available under **List**>**List Settings**>**Advanced in the User Interface**:
+
+
+
+It requires installed [SharePoint Online SDK](http://www.microsoft.com/en-us/download/details.aspx?id=42038)
+
+You have to enter the list information before running the script:
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Insert the credentials and the name of the site and list
+$Username="trial@trialtrial123.onmicrosoft.com"
+$AdminPassword="Pass"
+$Url="https://trialtrial123.sharepoint.com/sites/teamsitewithlists"
+$ListName="Announcements list"
+$NoCrawl=$true
+```
+
+
+
+Enjoy and please share your comments and questions!
+
+
From 570225caeac7bfba4821f339df38d4200763b433 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Tue, 1 Dec 2020 20:09:57 +0200
Subject: [PATCH 249/312] Create README.md
---
.../Allow or disallow users to create folders/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Allow or disallow users to create folders/README.md
diff --git a/Lists and Libraries Management/Allow or disallow users to create folders/README.md b/Lists and Libraries Management/Allow or disallow users to create folders/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Allow or disallow users to create folders/README.md
@@ -0,0 +1 @@
+.
From 72fb5392e580558bb171091665075ac9a2a2d4b7 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 3 Dec 2020 21:30:00 +0200
Subject: [PATCH 250/312] Update README.md
---
.../Allow list to be deleted/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Allow list to be deleted/README.md b/Lists and Libraries Management/Allow list to be deleted/README.md
index 9ff309d7..7a87b8a4 100644
--- a/Lists and Libraries Management/Allow list to be deleted/README.md
+++ b/Lists and Libraries Management/Allow list to be deleted/README.md
@@ -8,7 +8,7 @@ Please beware that the button is missing for a reason. Do not execute the script
The script does not delete the list itself.
-
+
### How to use the script?
From 34da9081c3ae3c89ef03517c7e3f8a6608baa6c7 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 5 Dec 2020 16:08:07 +0200
Subject: [PATCH 251/312] Create README.md
---
.../For All Lists/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Set the direction of the reading order/For All Lists/README.md
diff --git a/Lists and Libraries Management/Set the direction of the reading order/For All Lists/README.md b/Lists and Libraries Management/Set the direction of the reading order/For All Lists/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Set the direction of the reading order/For All Lists/README.md
@@ -0,0 +1 @@
+.
From ed193110f3bb42b1c9a14bb3a7b332595662a4a4 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 5 Dec 2020 20:19:46 +0200
Subject: [PATCH 252/312] Update README.md
---
.../For All Lists/README.md | 53 ++++++++++++++++++-
1 file changed, 52 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Set the direction of the reading order/For All Lists/README.md b/Lists and Libraries Management/Set the direction of the reading order/For All Lists/README.md
index 9c558e35..eaeab6a4 100644
--- a/Lists and Libraries Management/Set the direction of the reading order/For All Lists/README.md
+++ b/Lists and Libraries Management/Set the direction of the reading order/For All Lists/README.md
@@ -1 +1,52 @@
-.
+A short Powershell script to set the direction of the reading order for all lists in a site
+
+
+
+You can choose between:
+
+ltr - left to right
+
+rtl - right to left
+
+none
+
+
+
+
+
+
+
+It requires installed [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038)
+
+You have to enter the list information before running the script:
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Insert the credentials and the name of the site and the desired reading order: rtl, ltr, none
+$Username="trial@trialtrial123.onmicrosoft.com"
+$AdminPassword="Pass"
+$Url="https://trialtrial123.sharepoint.com/sites/teamsitewithlists"
+$Direction="rtl"
+```
+
+Results:
+
+
+
+
+
+
+
+Enjoy and please share feedback!
+
+## **Related scripts**
+[Set direction of the reading order for a single list](https://gallery.technet.microsoft.com/office/Set-the-direction-of-the-f17ca66a)
+
+[Set-SPOList properties (module)](https://gallery.technet.microsoft.com/office/Set-SPOList-properties-9d16f2ba)
+
+[Change permission property in lists (article)](https://social.technet.microsoft.com/wiki/contents/articles/29556.sharepoint-online-delete-unique-permissions-in-multiple-lists-using-csom.aspx)
+
+[Other list-related scripts](https://gallery.technet.microsoft.com/office/site/search?query=list&f%5B1%5D.Value=list&f%5B1%5D.Type=SearchText&f%5B0%5D.Value=Arleta%20Wanat&f%5B0%5D.Type=User&ac=4)
From 279cafa6c969a98c7f8e67c310ed4bd6429dcd8d Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 6 Dec 2020 20:07:44 +0200
Subject: [PATCH 253/312] Update README.md
---
.../README.md | 30 ++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/Pages/ClassicWebparts/Delete all web parts from a single page/README.md b/Pages/ClassicWebparts/Delete all web parts from a single page/README.md
index 9c558e35..81f6f8e3 100644
--- a/Pages/ClassicWebparts/Delete all web parts from a single page/README.md
+++ b/Pages/ClassicWebparts/Delete all web parts from a single page/README.md
@@ -1 +1,29 @@
-.
+Powershell script to delete ALL web parts from a single page. If you need to delete only one web part you can find its ID using [GetAllWebParts script](https://gallery.technet.microsoft.com/office/Get-all-web-parts-and-449f1d47) and remove it using [DeleteSingleWebPart script.](https://gallery.technet.microsoft.com/Delete-single-web-part-6404fced)
+
+
+
+The script requires the following SharePoint Online SDK libraries. Please confirm that the files are in the same location on your PC.
+
+
+
+```PowerShell
+ # Paths to SDK. Please verify location on your computer.
+Add-Type -Path "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.Runtime.dll"
+```
+
+
+You need to enter your credentials and the page relative url:
+
+
+
+```PowerShell
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="t@trial567.onmicrosoft.com"
+$Url="https://trial567.sharepoint.com/sites/powie64"
+
+
+Remove-SPOWebParts -Username $username -Url $Url -password $AdminPassword -pageUrl "/sites/powie64/SitePages/pgie.aspx"
+```
+
+
From 5caab36c0ed674317b2460cc8a1d7e155312e749 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Tue, 8 Dec 2020 13:11:20 +0200
Subject: [PATCH 254/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 File Management/Restore previous versions in selected files the entire library/README.md
diff --git a/File Management/Restore previous versions in selected files the entire library/README.md b/File Management/Restore previous versions in selected files the entire library/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/File Management/Restore previous versions in selected files the entire library/README.md
@@ -0,0 +1 @@
+.
From d03a5cd15a2c5438b8b4675b69d5826190509685 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 9 Dec 2020 21:55:06 +0200
Subject: [PATCH 255/312] Update README.md
---
.../README.md | 54 ++++++++++++++++++-
1 file changed, 53 insertions(+), 1 deletion(-)
diff --git a/Licensing/Remove SharePoint Online licenses for all users/README.md b/Licensing/Remove SharePoint Online licenses for all users/README.md
index 9c558e35..fd1c9252 100644
--- a/Licensing/Remove SharePoint Online licenses for all users/README.md
+++ b/Licensing/Remove SharePoint Online licenses for all users/README.md
@@ -1 +1,53 @@
-.
+A short script to remove SharePoint Online license from all the users.
+
+
+
+The result for all users should be similar to:
+
+
+
+The script will ask you for admin credentials.
+
+The script has no error handling - feel free to improve it:
+
+
+
+
+
+```PowerShell
+Connect-MsolService
+
+$disabledPlans= @()
+$disabledPlans +="SHAREPOINTENTERPRISE"
+$disabledPlans +="SHAREPOINTWAC"
+
+
+
+$Users = Get-MsolUser -All
+
+$Plan=(Get-MsolAccountSku).AccountSkuID.Trim()
+
+$noSPO = New-MsolLicenseOptions -AccountSkuId $Plan -DisabledPlans $disabledPlans
+
+Write-Host $Plan
+
+foreach($user in $Users)
+ {
+ Set-MsolUser -UserPrincipalName $user.UserPrincipalName -UsageLocation "US"
+ Set-MsolUserLicense -UserPrincipalName $user.UserPrincipalName -RemoveLicenses $Plan
+ Set-MsolUserLicense -UserPrincipalName $user.UserPrincipalName -AddLicenses $Plan -LicenseOptions $noSPO
+ Write-Host "Done for user " $user.UserPrincipalName
+ }
+```
+
+
+
+
+Though a different scenario and on a different occassions, I have been using this [article](http://blogs.technet.com/b/treycarlee/archive/2013/11/01/list-of-powershell-licensing-sku-s-for-office-365.aspx) by [Trey Carlee](https://social.technet.microsoft.com/profile/Trey%20Carlee) for a long time and the script above would not exist without Trey's initial help. I do recommend his insights for all who struggle with user licensing.
+
+
+
+
+
+
+Enjoy and please share your comments and questions!
From 6082c1958ce3e4813fa4ff7eec01f9d66486c61b Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 10 Dec 2020 20:34:59 +0200
Subject: [PATCH 256/312] Create README.md
---
.../For a single list/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Set the direction of the reading order/For a single list/README.md
diff --git a/Lists and Libraries Management/Set the direction of the reading order/For a single list/README.md b/Lists and Libraries Management/Set the direction of the reading order/For a single list/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Set the direction of the reading order/For a single list/README.md
@@ -0,0 +1 @@
+.
From efb2f13896b9d7cf6c6f270fd9883fa0a989d002 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 10 Dec 2020 20:35:18 +0200
Subject: [PATCH 257/312] Update README.md
---
.../For a single list/README.md | 44 ++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Set the direction of the reading order/For a single list/README.md b/Lists and Libraries Management/Set the direction of the reading order/For a single list/README.md
index 9c558e35..157c378b 100644
--- a/Lists and Libraries Management/Set the direction of the reading order/For a single list/README.md
+++ b/Lists and Libraries Management/Set the direction of the reading order/For a single list/README.md
@@ -1 +1,43 @@
-.
+A short Powershell script to set the direction of the reading order for the list.
+
+You can choose between:
+
+ltr - left to right
+
+rtl - right to left
+
+none
+
+It requires installed [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038)
+
+You have to enter the list information before running the script:
+
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Insert the credentials and the name of the site and list
+$Username="trial@trialtrial123.onmicrosoft.com"
+$AdminPassword="Pass"
+$Url="https://trialtrial123.sharepoint.com/sites/teamsitewithlists"
+$ListName="Generic List"
+$Direction ="none"
+$Direction paramater specifies the reading order. Enter "ltr", "rtl" or "none"
+```
+
+
+
+
+
+
+Enjoy and please share feedback!
+
+
+## **Related scripts**
+[Set-SPOList properties (module)](https://gallery.technet.microsoft.com/office/Set-SPOList-properties-9d16f2ba)
+
+[Change permission property in lists (article)](https://social.technet.microsoft.com/wiki/contents/articles/29556.sharepoint-online-delete-unique-permissions-in-multiple-lists-using-csom.aspx)
+
+[Other list-related scripts](https://gallery.technet.microsoft.com/office/site/search?query=list&f%5B1%5D.Value=list&f%5B1%5D.Type=SearchText&f%5B0%5D.Value=Arleta%20Wanat&f%5B0%5D.Type=User&ac=4)
From 7c08de0fd8a495830ce233c51f8a0842c7a4f982 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 10 Dec 2020 20:35:44 +0200
Subject: [PATCH 258/312] Update description.md
---
.../For a single list/description.md | 6 ------
1 file changed, 6 deletions(-)
diff --git a/Lists and Libraries Management/Set the direction of the reading order/For a single list/description.md b/Lists and Libraries Management/Set the direction of the reading order/For a single list/description.md
index 157c378b..e9c0eeb2 100644
--- a/Lists and Libraries Management/Set the direction of the reading order/For a single list/description.md
+++ b/Lists and Libraries Management/Set the direction of the reading order/For a single list/description.md
@@ -3,9 +3,7 @@ A short Powershell script to set the direction of the reading order for the list
You can choose between:
ltr - left to right
-
rtl - right to left
-
none
It requires installed [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038)
@@ -27,10 +25,6 @@ $Direction ="none"
$Direction paramater specifies the reading order. Enter "ltr", "rtl" or "none"
```
-
-
-
-
Enjoy and please share feedback!
From 7128df73122345d297bd8ca1d92711169a7c81bd Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Dec 2020 19:45:26 +0200
Subject: [PATCH 259/312] Update README.md
---
.../README.md | 37 ++++++++++++++++++-
1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Allow or disallow users to create folders/README.md b/Lists and Libraries Management/Allow or disallow users to create folders/README.md
index 9c558e35..ceab566d 100644
--- a/Lists and Libraries Management/Allow or disallow users to create folders/README.md
+++ b/Lists and Libraries Management/Allow or disallow users to create folders/README.md
@@ -1 +1,36 @@
-.
+A short Powershell script to set the EnableFolderCreation property for all lists in a site. The property is responsible for the folder icon under Files tab (see screenshot). The button allows you to create folders in a given lists.
+
+If you disable the button, you and your users will not be able to create folders.
+
+Applies to lists and libraries
+
+It requires installed [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038)
+
+You have to enter the list information before running the script:
+
+
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+# Insert the credentials and the name of the site and the desired reading order: rtl, ltr, none
+$Username="trial@trialtrial123.onmicrosoft.com"
+$AdminPassword="Pass"
+$Url="https://trialtrial123.sharepoint.com/sites/teamsitewithlists"
+$EnableFolderCreation=$false
+ ```
+
+## **Results**
+
+
+
+### Related scripts
+[Set direction of the reading order for a single list](https://gallery.technet.microsoft.com/office/Set-the-direction-of-the-f17ca66a)
+
+[Set-SPOList properties (module)](https://gallery.technet.microsoft.com/office/Set-SPOList-properties-9d16f2ba)
+
+
+
+Enjoy and please share your comments and questions!
From 2b0610ffa59a5b912cfc8f31bbe7a91636590a9f Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Dec 2020 19:46:30 +0200
Subject: [PATCH 260/312] Update README.md
---
.../Add a geolocation column/README.md | 45 ++++++++++++++++++-
1 file changed, 44 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Column Management/Add a geolocation column/README.md b/Lists and Libraries Management/Column Management/Add a geolocation column/README.md
index 9c558e35..b6a0e9bd 100644
--- a/Lists and Libraries Management/Column Management/Add a geolocation column/README.md
+++ b/Lists and Libraries Management/Column Management/Add a geolocation column/README.md
@@ -1 +1,44 @@
-.
+Short Powershell script to create a geolocation field in SharePoint Online list.
+
+
+
+The script uses the following resources:
+
+https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-add-a-geolocation-column-to-a-list-programmatically-in-sharepoint
+
+https://docs.microsoft.com/en-us/sharepoint/dev/general-development/create-a-map-view-for-the-geolocation-field-in-sharepoint
+
+https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-set-the-bing-maps-key-at-the-web-and-farm-level-in-sharepoint
+
+https://docs.microsoft.com/en-us/sharepoint/dev/general-development/create-a-map-view-for-the-geolocation-field-in-sharepoint
+
+
+
+
+
+```PowerShell
+ $list = $web.Lists.GetByTitle($ListTitle)
+ $ctx.Load($list)
+ $ctx.ExecuteQuery()
+
+ $geolocationfield=$list.Fields.AddFieldAsXml("", $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddToAllContentTypes)
+ $list.Update()
+ $ctx.ExecuteQuery()
+ ```
+
+
+In order to use it, open the file and enter correct values:
+
+```PowerShell
+#Paths to SDK
+Add-Type -Path "C:\Program Files (x86)\Common Files\microsoft shared\Web Server Extensions\16\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "C:\Program Files (x86)\Common Files\microsoft shared\Web Server Extensions\16\Microsoft.SharePoint.Client.Runtime.dll"
+
+
+
+#Enter the data
+$Password=Read-Host -Prompt "Enter password" -AsSecureString
+$Username="me@testtenant.onmicrosoft.com"
+$Url="https://tenant.sharepoint.com"
+$ListTitle="test2"
+```
From 40214ddd6a91e2a04008ce71c82bd103e7a22c56 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Dec 2020 19:46:55 +0200
Subject: [PATCH 261/312] Update description.md
---
.../Add a geolocation column/description.md | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/Lists and Libraries Management/Column Management/Add a geolocation column/description.md b/Lists and Libraries Management/Column Management/Add a geolocation column/description.md
index b78bc892..b6a0e9bd 100644
--- a/Lists and Libraries Management/Column Management/Add a geolocation column/description.md
+++ b/Lists and Libraries Management/Column Management/Add a geolocation column/description.md
@@ -16,7 +16,7 @@ https://docs.microsoft.com/en-us/sharepoint/dev/general-development/create-a-map
-PowerShell
+```PowerShell
$list = $web.Lists.GetByTitle($ListTitle)
$ctx.Load($list)
$ctx.ExecuteQuery()
@@ -24,12 +24,12 @@ PowerShell
$geolocationfield=$list.Fields.AddFieldAsXml("", $true, [Microsoft.SharePoint.Client.AddFieldOptions]::AddToAllContentTypes)
$list.Update()
$ctx.ExecuteQuery()
-
+ ```
In order to use it, open the file and enter correct values:
-PowerShell
+```PowerShell
#Paths to SDK
Add-Type -Path "C:\Program Files (x86)\Common Files\microsoft shared\Web Server Extensions\16\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files (x86)\Common Files\microsoft shared\Web Server Extensions\16\Microsoft.SharePoint.Client.Runtime.dll"
@@ -41,3 +41,4 @@ $Password=Read-Host -Prompt "Enter password" -AsSecureString
$Username="me@testtenant.onmicrosoft.com"
$Url="https://tenant.sharepoint.com"
$ListTitle="test2"
+```
From 6a8bb14a498392ded8d92fb950bd768e5f32546c Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Dec 2020 19:47:19 +0200
Subject: [PATCH 262/312] Create README.md
---
.../Add a library column with file extension/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Column Management/Add a library column with file extension/README.md
diff --git a/Lists and Libraries Management/Column Management/Add a library column with file extension/README.md b/Lists and Libraries Management/Column Management/Add a library column with file extension/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Column Management/Add a library column with file extension/README.md
@@ -0,0 +1 @@
+.
From 29aa82ca4979ed6b9b1b717cb2bc174d50f96422 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Dec 2020 19:47:40 +0200
Subject: [PATCH 263/312] Update README.md
---
.../README.md | 39 ++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Column Management/Add a library column with file extension/README.md b/Lists and Libraries Management/Column Management/Add a library column with file extension/README.md
index 9c558e35..e5688e7d 100644
--- a/Lists and Libraries Management/Column Management/Add a library column with file extension/README.md
+++ b/Lists and Libraries Management/Column Management/Add a library column with file extension/README.md
@@ -1 +1,38 @@
-.
+A short script to add a column with file extensions to a SharePoint Online library:
+
+
+
+The script is not an event receiver, so if you add a new item, it may need to be re-applied.
+
+The script is not optimized. Please rewrite before applying to large or multiple lists.
+
+
+
+Every time it runs, the script creates a new list field (column) through this line:
+
+
+
+```PowerShell
+New-SPOListColumn -ListTitle $listTitle -FieldDisplayName $newColumnName -FieldType Text -StaticName "FileNameWithExtension" -Name "FileNameWithExtension" -AddToDefaultView $true -AddToView ""
+```
+If you do not want to add another column to your list, comment the line out using #.
+
+
+The script will not run without editing. Remember to enter the correct data:
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client.Runtime\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.Runtime.dll"
+
+$pasworde = Read-Host -Prompt "Password " -AsSecureString
+$uss="2190@tenant.onmicrosoft.com"
+$listTitle="ext3"
+$listID="1979CC10-3E5D-4D99-9BE6-8BE6229E4E13"
+$newColumnName="Extension"
+
+Connect-SPOCSOM -Username $uss -AdminPassword $pasworde -Url "https://tenant.sharepoint.com/sites/powie3"
+```
+
+
+
+Enjoy and please share feedback!
From 165d404fb122bb48b316b764ce161f2bf8c7715b Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Dec 2020 19:47:50 +0200
Subject: [PATCH 264/312] Create README.md
---
.../Add a library column with file name and extension/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Column Management/Add a library column with file name and extension/README.md
diff --git a/Lists and Libraries Management/Column Management/Add a library column with file name and extension/README.md b/Lists and Libraries Management/Column Management/Add a library column with file name and extension/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Column Management/Add a library column with file name and extension/README.md
@@ -0,0 +1 @@
+.
From 5797dd7d0b65270376cb6f1d2125762955c8354b Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Dec 2020 19:48:16 +0200
Subject: [PATCH 265/312] Update README.md
---
.../README.md | 86 ++++++++++++++++++-
1 file changed, 85 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Column Management/Add a library column with file name and extension/README.md b/Lists and Libraries Management/Column Management/Add a library column with file name and extension/README.md
index 9c558e35..b7ceff91 100644
--- a/Lists and Libraries Management/Column Management/Add a library column with file name and extension/README.md
+++ b/Lists and Libraries Management/Column Management/Add a library column with file name and extension/README.md
@@ -1 +1,85 @@
-.
+The script is another variation of [Add a library column with file extension (SharePoint Online).](https://gallery.technet.microsoft.com/Add-a-library-column-with-04796e65)
+
+
+
+It adds a column with file extensions to a SharePoint Online library:
+
+
+
+
+
+
+
+The script is not an event receiver, so if you add a new item, it may need to be re-applied.
+
+The script is not optimized. Please rewrite before applying to large or multiple lists.
+
+
+
+Every time it runs, the script creates a new list field (column) through this line:
+
+```PowerShell
+New-SPOListColumn -ListTitle $listTitle -FieldDisplayName $newColumnName -FieldType Text -StaticName "FileNameWithExtension" -Name "FileNameWithExtension" -AddToDefaultView $true -AddToView ""
+```
+If you do not want to add another column to your list, comment the line out using #.
+
+
+The script will not run without editing. Remember to enter the correct data:
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client.Runtime\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.Runtime.dll"
+
+$pasword = Read-Host -Prompt "Password " -AsSecureString
+$uss="2190@tenant.onmicrosoft.com"
+$listTitle="ext3"
+$listID="1979CC10-3E5D-4D99-9BE6-8BE6229E4E13"
+$newColumnName="Extension"
+
+Connect-SPOCSOM -Username $uss -AdminPassword $pasword -Url "https://tenant.sharepoint.com/sites/powie3"
+```
+
+
+Enjoy and please share feedback!The script is another variation of [Add a library column with file extension (SharePoint Online).](https://gallery.technet.microsoft.com/Add-a-library-column-with-04796e65)
+
+
+
+It adds a column with file extensions to a SharePoint Online library:
+
+
+
+
+
+
+
+The script is not an event receiver, so if you add a new item, it may need to be re-applied.
+
+The script is not optimized. Please rewrite before applying to large or multiple lists.
+
+
+
+Every time it runs, the script creates a new list field (column) through this line:
+
+```PowerShell
+New-SPOListColumn -ListTitle $listTitle -FieldDisplayName $newColumnName -FieldType Text -StaticName "FileNameWithExtension" -Name "FileNameWithExtension" -AddToDefaultView $true -AddToView ""
+```
+If you do not want to add another column to your list, comment the line out using #.
+
+
+The script will not run without editing. Remember to enter the correct data:
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SharePoint.Client.Runtime\v4.0_16.0.0.0__71e9bce111e9429c\Microsoft.SharePoint.Client.Runtime.dll"
+
+$pasword = Read-Host -Prompt "Password " -AsSecureString
+$uss="2190@tenant.onmicrosoft.com"
+$listTitle="ext3"
+$listID="1979CC10-3E5D-4D99-9BE6-8BE6229E4E13"
+$newColumnName="Extension"
+
+Connect-SPOCSOM -Username $uss -AdminPassword $pasword -Url "https://tenant.sharepoint.com/sites/powie3"
+```
+
+
+Enjoy and please share feedback!
From 0603097df397eda5fb08dae3f6dc0c65af6e22f1 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Dec 2020 19:48:27 +0200
Subject: [PATCH 266/312] Update description.md
---
.../description.md | 4 ----
1 file changed, 4 deletions(-)
diff --git a/Lists and Libraries Management/Column Management/Add a library column with file name and extension/description.md b/Lists and Libraries Management/Column Management/Add a library column with file name and extension/description.md
index b7ceff91..bd647c95 100644
--- a/Lists and Libraries Management/Column Management/Add a library column with file name and extension/description.md
+++ b/Lists and Libraries Management/Column Management/Add a library column with file name and extension/description.md
@@ -6,10 +6,6 @@ It adds a column with file extensions to a SharePoint Online library:
-
-
-
-
The script is not an event receiver, so if you add a new item, it may need to be re-applied.
The script is not optimized. Please rewrite before applying to large or multiple lists.
From 248584dd94bc30c6dbd8b39683a633117922079a Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Dec 2020 19:48:42 +0200
Subject: [PATCH 267/312] Create README.md
---
.../Column Management/Create a new choice column/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Column Management/Create a new choice column/README.md
diff --git a/Lists and Libraries Management/Column Management/Create a new choice column/README.md b/Lists and Libraries Management/Column Management/Create a new choice column/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Column Management/Create a new choice column/README.md
@@ -0,0 +1 @@
+.
From 0743b8884de5654211f999cd4bd2fd52fa3b71f5 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Dec 2020 19:49:34 +0200
Subject: [PATCH 268/312] Update README.md
---
.../Create a new choice column/README.md | 86 ++++++++++++++++++-
1 file changed, 85 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Column Management/Create a new choice column/README.md b/Lists and Libraries Management/Column Management/Create a new choice column/README.md
index 9c558e35..a7006053 100644
--- a/Lists and Libraries Management/Column Management/Create a new choice column/README.md
+++ b/Lists and Libraries Management/Column Management/Create a new choice column/README.md
@@ -1 +1,85 @@
-.
+Powershell module with a new cmdlet
+
+```New-SPOListChoiceColumn```
+
+
+
+Import the module to make the cmdlet available.
+
+
+
+## Parameters
+
+The cmdlet is using the following parameters:
+``` [string]$Username```
+
+The string specifies admin of the site
+```[string]$Url```
+
+Specifies the url of a site where you have the list
+```[string]$AdminPassword```
+
+Admin's password
+```[string]$ListTitle```
+
+Specifies the title of the list where you want to change the settings.
+```[string]$FieldDisplayName```
+
+Mandatory
+```[String[]] $ChoiceNames```
+
+Choices that you want to add as options for users to choose. Add each choice after a comma - you can add as many as you like.
+
+e.g. -ChoiceNames choice1, choice2, option3, option5, option100
+```[string]$Description=""```
+
+Optional.
+```[string]$Required="false"```
+
+Optional. Specifies whether the field is required.
+```[ValidateSet('Dropdown','Radiobuttons', 'Checkboxes')] [string]$Format="Dropdown"```
+
+Optional. Specifies the format of the field. By default set to "dropdown"
+```[string]$Group=""```
+
+Optional.
+```[string]$StaticName```
+
+Mandatory
+```[string]$Name```
+
+Mandatory
+```[string]$Version="1"```
+
+Optional.
+
+
+## Examples
+
+```PowerShell
+New-SPOListChoiceColumn -Username -Url https://tenant.sharepoint.com/sites/teamsitewithlists -AdminPassword Pass -ListTitle "Contacts list" -FieldDisplayName elp -Description "desdes"-Required true -ChoiceNames bio, ewe, ewe, ewewe
+```
+
+
+
+Results:
+
+
+
+
+
+## Requirements
+
+The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
+
+
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+```
+
+
+
+Enjoy and please share feedback!
From 27fb7134a7c0b9b098c4658d66afd3af0cce38ec Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Fri, 11 Dec 2020 19:49:41 +0200
Subject: [PATCH 269/312] Update description.md
---
.../Create a new choice column/description.md | 3 ---
1 file changed, 3 deletions(-)
diff --git a/Lists and Libraries Management/Column Management/Create a new choice column/description.md b/Lists and Libraries Management/Column Management/Create a new choice column/description.md
index 6be80102..3de732c5 100644
--- a/Lists and Libraries Management/Column Management/Create a new choice column/description.md
+++ b/Lists and Libraries Management/Column Management/Create a new choice column/description.md
@@ -6,9 +6,6 @@ Powershell module with a new cmdlet
Import the module to make the cmdlet available.
-
-
-
## Parameters
From eb0375daa22d611bde055d5293c67fcfe9919476 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 13:49:36 +0200
Subject: [PATCH 270/312] Create README.md
---
.../Column Management/Create a new column in list/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Column Management/Create a new column in list/README.md
diff --git a/Lists and Libraries Management/Column Management/Create a new column in list/README.md b/Lists and Libraries Management/Column Management/Create a new column in list/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Column Management/Create a new column in list/README.md
@@ -0,0 +1 @@
+.
From 47faed896dc780e85545a7b07e874e6650db3382 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 13:50:17 +0200
Subject: [PATCH 271/312] Update README.md
---
.../Create a new column in list/README.md | 75 ++++++++++++++++++-
1 file changed, 74 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Column Management/Create a new column in list/README.md b/Lists and Libraries Management/Column Management/Create a new column in list/README.md
index 9c558e35..1bbb613c 100644
--- a/Lists and Libraries Management/Column Management/Create a new column in list/README.md
+++ b/Lists and Libraries Management/Column Management/Create a new column in list/README.md
@@ -1 +1,74 @@
-.
+Powershell Module that allows you to add a new column to a SharePoint Online list, using the following cmdlet:
+
+**New-SPOListColumn**
+
+Import the module using import-module and use the cmdlet whenever you want!
+
+
+
+## Parameters
+
+The cmdlet is using the following parameters:
+```[string]$Username```
+
+The string specifies admin of the site
+```[string]$Url```
+
+Specifies the url of a site where you have the list
+```[string]$AdminPassword,```
+
+Admin's password
+```[string]$ListTitle```
+
+Specifies the title of the list where you want to change the settings.
+```[string]$FieldDisplayName```
+
+Mandatory. Specifies the display name of the column
+```[System.String]$FieldType```
+
+Mandatory. Specifies the type of the field. You can choose among:
+
+ 'AllDayEvent','Attachments','Boolean', 'Calculate', 'Choice', 'Computed', 'ContenttypeID', 'Counter', 'CrossProjectLink', 'Currency', 'DateTime', 'Error', 'File', 'Geolocation', 'GridChoice', 'Guid', 'Integer', 'Invalid', 'Lookup', 'MaxItems', 'ModStat', 'MultiChoice', 'Note', 'Number', 'OutcomeChoice', 'PageSeparator', 'Recurrence', 'Text', 'ThreadIndex', 'Threading', 'Url','User', 'WorkflowEventType', 'WorkflowStatus'
+
+
+
+It corresponds to GUI:
+
+
+
+## Examples
+
+
+
+ New-SPOListColumn -Username trial@trialtrial123.onmicrosoft.com -Url https://tenant.sharepoint.com -AdminPassword Pass -LisTitle "contacts list" -FieldDisplayName "Business Phone" -FieldType Number
+
+
+
+ The properties will be populated later on
+
+
+
+
+
+## Requirements
+
+The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
+
+
+
+
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+```
+
+
+
+
+Enjoy and please share feedback!
+
+
+
+
From 3e42819fb5cd08dc5654c61b9c20a529de563e98 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 13:50:29 +0200
Subject: [PATCH 272/312] Update description.md
---
.../Create a new column in list/description.md | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/Lists and Libraries Management/Column Management/Create a new column in list/description.md b/Lists and Libraries Management/Column Management/Create a new column in list/description.md
index 5adc7879..29bb9a2c 100644
--- a/Lists and Libraries Management/Column Management/Create a new column in list/description.md
+++ b/Lists and Libraries Management/Column Management/Create a new column in list/description.md
@@ -36,7 +36,7 @@ It corresponds to GUI:
-Examples
+## Examples
@@ -48,27 +48,18 @@ Examples
-
-
## Requirements
The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
-
-
-
-
```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
```
-
Enjoy and please share feedback!
-
-
From 042b8eeb1c3476ac2b281491c51bd46300d5a82c Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 13:50:43 +0200
Subject: [PATCH 273/312] Create README.md
---
.../Create new column with properties/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Column Management/Create new column with properties/README.md
diff --git a/Lists and Libraries Management/Column Management/Create new column with properties/README.md b/Lists and Libraries Management/Column Management/Create new column with properties/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Column Management/Create new column with properties/README.md
@@ -0,0 +1 @@
+.
From 821d0ae5314ded4eb9c60f48350252977326da5c Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 13:50:59 +0200
Subject: [PATCH 274/312] Update README.md
---
.../README.md | 64 ++++++++++++++++++-
1 file changed, 63 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Column Management/Create new column with properties/README.md b/Lists and Libraries Management/Column Management/Create new column with properties/README.md
index 9c558e35..d82f4d94 100644
--- a/Lists and Libraries Management/Column Management/Create new column with properties/README.md
+++ b/Lists and Libraries Management/Column Management/Create new column with properties/README.md
@@ -1 +1,63 @@
-.
+A short one-cmdlet Powershell module that adds another cmdlet to your set of cmdlets. Import the module to make the cmdlet available.
+
+### New-SPOListColumnWithProperties
+
+
+## Parameters
+
+The cmdlet is using the following parameters:
+```[string]$Username```
+
+The string specifies admin of the site
+```[string]$Url```
+
+Specifies the url of a site where you have the list
+```[string]$AdminPassword,```
+
+Admin's password
+```[string]$ListTitle```
+
+Specifies the title of the list where you want to change the settings.
+```[string]$FieldDisplayName```
+
+Mandatory
+```[string]$Description=""```
+
+Optional.
+```[string]$Required="false"```
+
+Optional. Specifies whether the field is required.
+```[string]$Group=""```
+
+Optional.
+```[string]$StaticName```
+
+Mandatory
+```[string]$Name```
+
+Mandatory
+```[string]$Version="1"```
+
+Optional.
+
+
+
+
+## Requirements
+
+The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
+
+
+
+
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+```
+
+
+Enjoy and please share feedback!
+
+
From 4bf7e430188e691ea2add8cfa822cd999695d3d1 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 13:51:10 +0200
Subject: [PATCH 275/312] Update description.md
---
.../Create new column with properties/description.md | 4 ----
1 file changed, 4 deletions(-)
diff --git a/Lists and Libraries Management/Column Management/Create new column with properties/description.md b/Lists and Libraries Management/Column Management/Create new column with properties/description.md
index d82f4d94..9265a7a2 100644
--- a/Lists and Libraries Management/Column Management/Create new column with properties/description.md
+++ b/Lists and Libraries Management/Column Management/Create new column with properties/description.md
@@ -47,10 +47,6 @@ Optional.
The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
-
-
-
-
```PowerShell
# Paths to SDK. Please verify location on your computer.
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
From c754a3f04d5964f4b0da70ca71f9a74d7074f948 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 13:51:37 +0200
Subject: [PATCH 276/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/README.md
diff --git a/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/README.md b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/README.md
@@ -0,0 +1 @@
+.
From ad2c169e1a9a3d3c3b042e11c27aac74fef45dcb Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 13:52:05 +0200
Subject: [PATCH 277/312] Update description.md
---
.../description.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
index 1c334d44..4da0f11a 100644
--- a/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
+++ b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
@@ -6,7 +6,7 @@ You can either display the column name or all of its properties. If you want to
The script requires SharePoint Online SDK installed. Before running the script, enter the information:
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
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"
@@ -17,7 +17,7 @@ $AdminPassword=Read-Host -Prompt "Password" -AsSecureString
$AdminUrl="https://etr56.sharepoint.com/sites/commsite"
$ListTitle = "Site Pages"
$CTName = "Repost Page" # name of the content type, e.g. Item, Folder, Site Page
-
+```
Results example:
1. Only names
From c1b5a8fbc6826426bb868325c605a17c5a4f4445 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 13:55:27 +0200
Subject: [PATCH 278/312] Update description.md
---
.../description.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
index 4da0f11a..4ba5f4b8 100644
--- a/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
+++ b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
@@ -23,13 +23,13 @@ Results example:
1. Only names
-
+
2. All properties of a fieldlink/column
-
+
From b97bcebf085820b102849e7983b4437e57bb4d7c Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 14:00:50 +0200
Subject: [PATCH 279/312] Update description.md
---
.../description.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
index 4ba5f4b8..87c35d11 100644
--- a/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
+++ b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
@@ -23,13 +23,13 @@ Results example:
1. Only names
-
+
2. All properties of a fieldlink/column
-
+
From a2e716f86a7c48e328a51b0ee5a3bfdce51a6672 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 14:01:12 +0200
Subject: [PATCH 280/312] Update description.md
---
.../description.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
index 87c35d11..378b9e92 100644
--- a/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
+++ b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/description.md
@@ -23,13 +23,13 @@ Results example:
1. Only names
-
+
2. All properties of a fieldlink/column
-
+
From ab5c5e91e1fcf11b647a1dc0964ca458d21bc6d9 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 13 Dec 2020 14:01:33 +0200
Subject: [PATCH 281/312] Update README.md
---
.../README.md | 36 ++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/README.md b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/README.md
index 9c558e35..378b9e92 100644
--- a/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/README.md
+++ b/Lists and Libraries Management/Column Management/Get all columns associated to a SINGLE content type in a list/README.md
@@ -1 +1,35 @@
-.
+The script gets all columns associated to a SINGLE content type in a list.
+
+You can either display the column name or all of its properties. If you want to display all proeprties, uncomment line: # Write-Output $fieldlink
+
+
+
+The script requires SharePoint Online SDK installed. Before running the script, enter the information:
+
+```PowerShell
+ # Paths to SDK. Please verify location on your computer.
+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"
+
+# Insert the credentials and the name of the admin site
+$Username="ana@etr56.onmicrosoft.com"
+$AdminPassword=Read-Host -Prompt "Password" -AsSecureString
+$AdminUrl="https://etr56.sharepoint.com/sites/commsite"
+$ListTitle = "Site Pages"
+$CTName = "Repost Page" # name of the content type, e.g. Item, Folder, Site Page
+```
+Results example:
+
+1. Only names
+
+
+
+
+
+2. All properties of a fieldlink/column
+
+
+
+
+
+
From 6274fab981c1ac1aaf111f9dd84377f036094e6b Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Mon, 14 Dec 2020 21:33:13 +0200
Subject: [PATCH 282/312] Create README.md
---
.../Module for list column management/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Column Management/Module for list column management/README.md
diff --git a/Lists and Libraries Management/Column Management/Module for list column management/README.md b/Lists and Libraries Management/Column Management/Module for list column management/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Column Management/Module for list column management/README.md
@@ -0,0 +1 @@
+.
From a2d00fffcfba3346a75a02de0e8e23c6f66bc988 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 16 Dec 2020 20:12:46 +0200
Subject: [PATCH 283/312] Update README.md
---
.../README.md | 334 +++++++++++++++++-
1 file changed, 333 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Column Management/Module for list column management/README.md b/Lists and Libraries Management/Column Management/Module for list column management/README.md
index 9c558e35..2b8905e8 100644
--- a/Lists and Libraries Management/Column Management/Module for list column management/README.md
+++ b/Lists and Libraries Management/Column Management/Module for list column management/README.md
@@ -1 +1,333 @@
-.
+SharePoint Online Powershell Module for list column management:
+
+ ```
+New-SPOListColumn
+
+New-SPOListChoiceColumn
+
+Set-SPOListColumn
+
+Get-SPOListColumn
+
+Remove-SPOListColumn
+
+Get-SPOListColumnFieldIsObjectPropertyInstantiated
+
+Get-SPOListColumnFieldIsPropertyAvailable
+```
+
+
+
+
+## **New-SPOListColumn**
+
+Creates a new columnin that list
+
+### *Parameters*
+
+The cmdlets share most of the parameters. Use tab to search through them all.
+```powershell
+ [string]$Username
+```
+The string specifies admin of the site
+```powershell
+[string]$Url
+```
+Specifies the url of a site where you have the list
+```powershell
+[string]$AdminPassword,
+```
+Admin's password
+```powershell
+[string]$ListTitle
+```
+Specifies the title of the list where you want to add/change the column.
+```powershell
+[string]$FieldDisplayName
+```
+Mandatory
+```powershell
+[string]$Description=""
+```
+Optional.
+```powershell
+[string]$Required="false"
+```
+Optional. Specifies whether the field is required.
+```powershell
+[string]$Group=""
+```
+Optional.
+```powershell
+[string]$StaticName
+```
+Optional. If not specified, will be set to FieldDisplayName
+```powershell
+[string]$Name
+```
+Optional. If not specified, will be set to FieldDisplayName
+```powershell
+[string]$Version="1"
+```
+Optional.
+
+
+
+## **New-SPOListChoiceColumn**
+
+### *Parameters*
+
+The cmdlet is using the following parameters:
+```powershell
+ [string]$Username
+ ```
+The string specifies admin of the site
+```powershell
+[string]$Url
+```
+Specifies the url of a site where you have the list
+```powershell
+[string]$AdminPassword,
+```
+Admin's password
+```powershell
+[string]$ListTitle
+```
+Specifies the title of the list where you want to change the settings.
+```powershell
+[string]$FieldDisplayName
+```
+Mandatory
+```powershell
+[String[]] $ChoiceNames,
+```
+Choices that you want to add as options for users to choose. Add each choice after a comma - you can add as many as you like.
+
+e.g. -ChoiceNames choice1, choice2, option3, option5, option100
+```powershell
+[string]$Description=""
+```
+Optional.
+```powershell
+[string]$Required="false"
+```
+Optional. Specifies whether the field is required.
+```powershell
+[ValidateSet('Dropdown','Radiobuttons', 'Checkboxes')] [string]$Format="Dropdown",
+```
+Optional. Specifies the format of the field. By default set to "dropdown"
+```powershell
+[string]$Group=""
+```
+Optional.
+```powershell
+[string]$StaticName
+```
+Mandatory
+```powershell
+[string]$Name
+```
+Mandatory
+```powershell
+[string]$Version="1"
+```
+Optional.
+
+
+
+## **Set-SPOListColumn**
+
+Sets properties of a column
+
+### *Parameters*
+
+The cmdlet is using the following parameters:
+```powershell
+ [string]$Username
+ ```
+The string specifies admin of the site
+```powershell
+[string]$Url
+```
+Specifies the url of a site where you have the list
+```powershell
+[string]$AdminPassword,
+```
+Admin's password
+```powershell
+[string]$ListTitle
+```
+Specifies the title of the list where you want to change the settings.
+```powershell
+[string]$FieldDisplayName
+```
+Mandatory
+```powershell
+[string]$Description
+```
+Optional.
+```powershell
+[string]$Direction
+$EnforceUniqueValues
+[string]$Group
+[bool]$Hidden
+[bool]$Indexed
+[string]$JSLink
+[bool]$ReadOnlyField
+[bool]$Required
+[string]$SchemaXML
+[string]$StaticName
+[string]$Tag
+[string]$FieldTitle
+```
+Exact descriptions can be found [here](https://docs.microsoft.com/en-us/sharepoint/dev/schema/field-element-field?redirectedfrom=MSDN)
+
+
+
+## **Get-SPOListColumn**
+
+Gets a column by title or id and displays all its properties
+
+### *Parameters*
+
+The cmdlets share most of the parameters. Use tab to search through them all.
+```powershell
+ [string]$Username
+ ```
+The string specifies admin of the site
+```powershell
+[string]$Url
+```
+Specifies the url of a site where you have the list
+```powershell
+[string]$AdminPassword,
+```
+Admin's password
+```powershell
+[string]$ListTitle
+```
+Specifies the title of the list where you want to add/change the column.
+```powershell
+[string]$FieldDisplayName
+```
+Mandatory
+```powershell
+[string]$ID
+```
+Optional.
+
+
+
+
+
+## **Remove-SPOListColumn**
+
+Removes a column
+
+### *Parameters*
+
+The cmdlets share most of the parameters. Use tab to search through them all.
+```powershell
+ [string]$Username
+ ```
+The string specifies admin of the site
+```powershell
+[string]$Url
+```
+Specifies the url of a site where you have the list
+```powershell
+[string]$AdminPassword,
+```
+Admin's password
+```powershell
+[string]$ListTitle
+```
+Specifies the title of the list where you want to add/change the column.
+```powershell
+[string]$FieldDisplayName
+```
+Mandatory
+
+
+
+## Examples
+
+
+
++ Get Column properties
+
+Get-SPOListColumn -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/sites/teamsitewithlists -AdminPassword Pass -ListTitle "Contacts list" -FieldTitle extra_field
+
+
+
+
++ Get Column properties and export them to CSV file
+
+Get-SPOListColumn -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/sites/teamsitewithlists -AdminPassword Pass -ListTitle "Contacts list" -FieldTitle extra_field | export-csv c:\csvfilepath.csv
+
+
++ Set Column properties to $ReadOnly
+
+Set-SPOListColumn -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/sites/teamsitewithlists -AdminPassword Pas
+ListTitle "contacts list" -FieldTitle "Business Phone" -ReadOnly $true
+
+
+
+
++ Require unique values in the column
+
+Set-SPOListColumn -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/sites/teamsitewithlists -AdminPassword Pass
+ListTitle "contacts list" -Indexed $true -EnforceUniqueValues $true -FieldTitle "Business Phone"
+
+
+
+
++ Create a new list column - you can choose any type you want!
+
+New-SPOListColumn -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/sites/teamsitewithlists -AdminPassword Pass
+ListTitle "contacts list" -FieldDisplayName "Business Phone" -FieldType Number
+
+
+
+* the properties will be populated automatically
+
+
++ Set the direction of text in the column from right to left
+
+Set-SPOListColumn -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/sites/teamsitewithlists -AdminPassword Pass
+ListTitle "contacts list" -FieldTitle "Business Phone" -Direction RTL
+
+
+
+
++ Remove column
+
+Remove-SPOListColumn -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/sites/teamsitewithlists -AdminPassword Pass -ListTitle "Contacts list" -FieldTitle extra_field
+
+
+
++ Create a new choice column and set available choices
+
+New-SPOListChoiceColumn -Username -Url https://tenant.sharepoint.com/sites/teamsitewithlists -AdminPassword Pass -ListTitle "Contacts list" -FieldDisplayName elp -Description "desdes"-Required true -ChoiceNames bio, ewe, ewe, ewewe
+
+
+
+Results:
+
+
+
+
+## Requirements
+
+The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
+
+```PowerShell
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+ ```
+
+Let me know about your experience in the Q&A section!
+
+EDITS:
+
+25/01/15 Fixed the checkboxes thanks to [this blog](http://svengillis.blogspot.com/2008/03/display-choices-using-checkboxes-allow.html)
From f848bc10dcc4ccdd5e264c04f60fcd491044680b Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Wed, 16 Dec 2020 20:12:59 +0200
Subject: [PATCH 284/312] Create README.md
---
.../Column Management/Remove list column/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Column Management/Remove list column/README.md
diff --git a/Lists and Libraries Management/Column Management/Remove list column/README.md b/Lists and Libraries Management/Column Management/Remove list column/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Column Management/Remove list column/README.md
@@ -0,0 +1 @@
+.
From 4da8f61747d347ef8712c07c18fdb6e30f760ad9 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 17 Dec 2020 22:55:30 +0200
Subject: [PATCH 285/312] Update README.md
---
.../Remove list column/README.md | 36 ++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Column Management/Remove list column/README.md b/Lists and Libraries Management/Column Management/Remove list column/README.md
index 9c558e35..9f1f619a 100644
--- a/Lists and Libraries Management/Column Management/Remove list column/README.md
+++ b/Lists and Libraries Management/Column Management/Remove list column/README.md
@@ -1 +1,35 @@
-.
+Short Powershell script removes a column from a SharePoint Online list
+
+## *Requirements*
+
+Before running the script, you have to modify the last lines!
+
+
+```PowerShell
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+
+
+
+
+ Remove-SPOListColumn -Username user@domain.onmicrosoft.com -Url https://tenant.sharepoint.com/sites/teamsitewithlists -AdminPassword Pass -ListTitle "contacts list" -FieldTitle "ool"
+```
+
++ Enter your credentials
++ FieldTitle means the name of the column that you want to delete
++ Verify if the [SharePoint Online SDK](https://www.microsoft.com/en-us/download/details.aspx?id=42038) is installed in the same location on your computer
+
+
+### **Related scripts**
+
+[Create a new column using Powershell cmdlet](https://gallery.technet.microsoft.com/scriptcenter/Create-a-new-column-for-a-501108c6)
+
+[Create a new choice column and define choices using Powershell cmdlet](https://gallery.technet.microsoft.com/scriptcenter/Create-a-new-choice-column-34d957d8)
+
+
+
+
+
+
+Enjoy and please share feedback!
From 0fe4e8d042853ebaccf1141a0491b42cfd913d18 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 31 Dec 2020 17:11:04 +0200
Subject: [PATCH 286/312] Create README.md
---
.../Create SPO list with a Powershell cmdlet/README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/Create SPO list with a Powershell cmdlet/README.md
diff --git a/Lists and Libraries Management/Create SPO list with a Powershell cmdlet/README.md b/Lists and Libraries Management/Create SPO list with a Powershell cmdlet/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/Create SPO list with a Powershell cmdlet/README.md
@@ -0,0 +1 @@
+.
From 7ad89ce32c4dc13319b2cf69e4d639c3c0aed9f5 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 31 Dec 2020 17:11:21 +0200
Subject: [PATCH 287/312] Update README.md
---
.../README.md | 138 +++++++++++++++++-
1 file changed, 137 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Create SPO list with a Powershell cmdlet/README.md b/Lists and Libraries Management/Create SPO list with a Powershell cmdlet/README.md
index 9c558e35..a27b5c85 100644
--- a/Lists and Libraries Management/Create SPO list with a Powershell cmdlet/README.md
+++ b/Lists and Libraries Management/Create SPO list with a Powershell cmdlet/README.md
@@ -1 +1,137 @@
-.
+New SharePoint Online Powershell cmdlet to create list.
+
+The list can follow any of the below templates:
+
+ GenericList | Custom list. Value = 100. | -
+ --- | --- | ---
+_ | DocumentLibrary | Document library. Value = 101.
+_ | Survey | Survey. Value = 102.
+_ | Links | Links. Value = 103.
+_ | Announcements | Announcements. Value = 104.
+_ | Contacts | Contacts. Value = 105.
+_ | Events | Calendar. Value = 106.
+_ | Tasks | Tasks. Value = 107.
+_ | DiscussionBoard | Discussion board. Value = 108.
+_ | PictureLibrary | Picture library. Value = 109.
+_ | DataSources | Data sources for a site. Value = 110.
+_ | WebTemplateCatalog | Site template gallery. Value = 111.
+_ | UserInformation | User Information. Value = 112.
+_ | WebPartCatalog | Web Part gallery. Value = 113.
+_ | ListTemplateCatalog | List Template gallery. Value = 114.
+_ |XMLForm | XML Form library. Value = 115.
+
+
+ [Full list of template types](https://docs.microsoft.com/en-us/previous-versions/office/sharepoint-server/ms413878(v=office.15)?redirectedfrom=MSDN)
+
+
+
+## **New-SPOList**
+
+Adds a list to an existing site
+
+
+
+### *Parameters*
+
+The cmdlet is using the following parameters:
+```
+ [string]$Username
+ ```
+The string specifies admin of the site
+```
+[string]$Url
+```
+Specifies the url of the site
+```
+[string]$AdminPassword,
+```
+Admin's password
+```
+[string]$Title,
+```
+Specifies the title of the list
+```
+[int]$TemplateType=100,
+```
+Optional. The template type defines whether the list will be a contact list, tasks, announcements, etc. The full list of template types can be found [here](https://docs.microsoft.com/en-us/previous-versions/office/sharepoint-server/ms413878(v=office.15)?redirectedfrom=MSDN). By default it is set to "Custom list" (generic list).
+```
+[string]$Description="",
+```
+Optional. Sets the description of the list.
+```
+[Int]$DocumentTemplateType,
+```
+Optional. Sets the document template type
+```
+[GUID]$TemplateFeatureID,
+```
+Optional. Sets the template feature id
+```
+[string]$ListUrl=""
+```
+Optional. Sets the url of the list. If not specified, the url will be the same as the title.
+
+
+
+## **Examples**
+
+
+
++ Create a custom list titled "fromps" (template type doesn't have to be specified)
+
+New-SPOList -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com -AdminPassword Pass -Title "fromps" -TemplateType 100 -Description "desc" -Verbose
+
+List fromps has been added to https://trialtrial123.sharepoint.com
+
++ Create a contacts list entitled "contacts"
+
+New-SPOList -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com -AdminPassword Pass -Title "contacts" -TemplateType 105 -Description "desc" -Verbose
+
+List contacts has been added to https://trialtrial123.sharepoint.com
+
+
+
++ Trying to create a list with the same name will throw an error:
+
+New-SPOList -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com -AdminPassword Pass -Title "contacts" -TemplateType 107 -Description "desc" -Verbose
+
+
+
++ Create a tasks list entitled "tasks"
+
+New-SPOList -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/psweb2/psweb2 -AdminPassword Pass -Title "tasks" -TemplateType 107 -Description "desc" -Verbose
+
+List tasks has been added to https://trialtrial123.sharepoint.com/psweb2/psweb2
+
++ Trying to create a list with invalid template type will throw an error
+
+New-SPOList -Username trial@trialtrial123.onmicrosoft.com -Url https://trialtrial123.sharepoint.com/psweb2/psweb2 -AdminPassword Pass -Title "tasks" -TemplateType 1110 -Description "desc" -Verbose
+
+Exception calling "ExecuteQuery" with "0" argument(s): "Modèle de liste non valide."
+
+
+
+Creating list with a url different from the title & more examples
+
+
+
+
+
+## *Requirements*
+
+
+
+The following libraries (SharePoint Online SDK) are required. If those libraries are in different location on your computer, please edit the .psm1 file!
+
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+```
+
+
+
+
+
+Enjoy and please share feedback!
From 9a75f08a7b729548a3f403ffd61ef1e91384d007 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 2 Jan 2021 15:13:27 +0200
Subject: [PATCH 288/312] Update README.md
---
.../README.md | 41 ++++++++++++++++++-
1 file changed, 40 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Delete unique permissions for all lists in a site collection/README.md b/Lists and Libraries Management/Delete unique permissions for all lists in a site collection/README.md
index 9c558e35..273b6d86 100644
--- a/Lists and Libraries Management/Delete unique permissions for all lists in a site collection/README.md
+++ b/Lists and Libraries Management/Delete unique permissions for all lists in a site collection/README.md
@@ -1 +1,40 @@
-.
+Powershell script to restore inherited permissions for all lists in a site collection.
+
+
+
+Before you run it, you have to modify the last line of the script!
+
+
+```PowerShell
+# Paths to SDK. Please verify location on your computer.
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
+Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
+
+
+
+Set-SPOListResetRoleInheritance -Username "trial@trialtrial123.onmicrosoft.com" -Url "https://trialtrial123.sharepoint.com" -AdminPassword "Pass" -IncludeSubsites $true
+```
+
+Enter your credentials and the site where you want to modify the inheritance.
+Set -IncludeSubsites $true if you want to restore inherited permissions also in the subsites
+Set -IncludeSubsites $false if you want to restore inherited permissions only in the main/root site
+Verify if the [SharePoint Online SDK](http://www.microsoft.com/en-us/download/details.aspx?id=30722) is installed in the same location on your computer
+
+
+
+## **Related scripts**
+
+[Break inheritance for all lists](https://gallery.technet.microsoft.com/scriptcenter/Break-inheritance-for-all-ded251fa)
+
+[Modify inherited permissions for a SharePoint Online site (module)](https://gallery.technet.microsoft.com/scriptcenter/Modify-Web-Inherited-125aaa54)
+
+[Modify list permissions with Powershell cmdlets (module)](https://gallery.technet.microsoft.com/scriptcenter/Powershell-Module-for-b88bc2d9)
+
+[Delete unique permissions (C# program)](https://gallery.technet.microsoft.com/scriptcenter/ResetRoleInhertienace-04f5c544)
+
+[Get lists with unique permissions (C# program)](https://gallery.technet.microsoft.com/scriptcenter/Get-Lists-with-Unique-90c4321b)
+
+
+
+
+Enjoy and please share feedback!
From c1f9b197f52c2d2838fb07aaabdddcae0ad76c49 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 2 Jan 2021 15:13:55 +0200
Subject: [PATCH 289/312] Update README.md
---
.../README.md | 60 ++++++++++++++++++-
1 file changed, 59 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md b/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md
index 9c558e35..f301226c 100644
--- a/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md
+++ b/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md
@@ -1 +1,59 @@
-.
+Powershell script to restore inherited permissions for all items in a SharePoint Online list.
+
+
+
+The script works with large (5000+) lists.
+
+In order to make it possible script uses a solution published here: http://www.sptrenches.com/2016/06/get-all-items-in-5000-large-list-with.html and commented by Sharath Aluri here: https://gallery.technet.microsoft.com/office/Delete-unique-permissions-c6ea2b57/view/Discussions#content.
+
+
+
+The script is a variation of Delete unique permissions in all items in one single list using Powershell script available on the Technet Gallery.
+
+
+
+Before you run it, you have to modify the last lines of the script!
+
+
+
+
+
+PowerShell
+# Paths to SDK. Please verify location on your computer.
+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"
+
+#Enter the data
+$AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
+$username="arleta@TENANT.onmicrosoft.com"
+$Url="https://TENANT.sharepoint.com/sites/testID1de"
+$ListTitle="testitems"
+
+
+Enter your credentials and the site where you want to modify the inheritance.
+Verify if the SharePoint Online SDK is installed in the same location on your computer
+
+
+
+
+
+
+
+
+
+
+Related scripts:
+
+Delete unique permissions in all items in one single list using Powershell
+
+Delete unique permissions for all lists
+
+Break inheritance for all lists
+
+Modify inherited permissions for a SharePoint Online site (module)
+
+Modify list permissions with Powershell cmdlets (module)
+
+Delete unique permissions (C# program)
+
+Get lists with unique permissions (C# program)
From a89464210dcdfea27e562167d2ed6b4551c15986 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 2 Jan 2021 15:14:14 +0200
Subject: [PATCH 290/312] Update README.md
---
.../README.md | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md b/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md
index f301226c..28d672ea 100644
--- a/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md
+++ b/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/README.md
@@ -18,7 +18,7 @@ Before you run it, you have to modify the last lines of the script!
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
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"
@@ -28,7 +28,7 @@ $AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
$username="arleta@TENANT.onmicrosoft.com"
$Url="https://TENANT.sharepoint.com/sites/testID1de"
$ListTitle="testitems"
-
+```
Enter your credentials and the site where you want to modify the inheritance.
Verify if the SharePoint Online SDK is installed in the same location on your computer
@@ -54,6 +54,3 @@ Modify inherited permissions for a SharePoint Online site (module)
Modify list permissions with Powershell cmdlets (module)
-Delete unique permissions (C# program)
-
-Get lists with unique permissions (C# program)
From b4f879b2fc4c7a1335602ecb9c4112a8169851f9 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sat, 2 Jan 2021 15:15:31 +0200
Subject: [PATCH 291/312] Update description.md
---
.../description.md | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/description.md b/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/description.md
index f301226c..42522240 100644
--- a/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/description.md
+++ b/Lists and Libraries Management/Delete unique permissions in all items in a large list (5000+ items)/description.md
@@ -18,7 +18,7 @@ Before you run it, you have to modify the last lines of the script!
-PowerShell
+```PowerShell
# Paths to SDK. Please verify location on your computer.
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"
@@ -28,7 +28,7 @@ $AdminPassword=Read-Host -Prompt "Enter password" -AsSecureString
$username="arleta@TENANT.onmicrosoft.com"
$Url="https://TENANT.sharepoint.com/sites/testID1de"
$ListTitle="testitems"
-
+```
Enter your credentials and the site where you want to modify the inheritance.
Verify if the SharePoint Online SDK is installed in the same location on your computer
@@ -53,7 +53,3 @@ Break inheritance for all lists
Modify inherited permissions for a SharePoint Online site (module)
Modify list permissions with Powershell cmdlets (module)
-
-Delete unique permissions (C# program)
-
-Get lists with unique permissions (C# program)
From f8ec01aac8e667cce460fb7914bccf1c755c4cd5 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 3 Jan 2021 12:45:15 +0200
Subject: [PATCH 292/312] Create README.md
---
.../README.md | 1 +
1 file changed, 1 insertion(+)
create mode 100644 Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online tenants/README.md
diff --git a/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online tenants/README.md b/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online tenants/README.md
new file mode 100644
index 00000000..9c558e35
--- /dev/null
+++ b/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online tenants/README.md
@@ -0,0 +1 @@
+.
From b8e16e257c9598f0e595840f68f69d01b80abcb8 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Sun, 3 Jan 2021 12:45:32 +0200
Subject: [PATCH 293/312] Update README.md
---
.../README.md | 66 ++++++++++++++++++-
1 file changed, 65 insertions(+), 1 deletion(-)
diff --git a/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online tenants/README.md b/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online tenants/README.md
index 9c558e35..7d890e64 100644
--- a/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online tenants/README.md
+++ b/Lists and Libraries Management/FolderStructure/Copy folder structure across SharePoint Online tenants/README.md
@@ -1 +1,65 @@
-.
+A script to copy folder structure from a library in one tenant to a library in a different SharePoint Online tenant. The script copies folders, not files inside.
+
+
+
+## How to use?
+
+1. Download the script and open the file (you can use Powershell ISE or e.g. NotePad).
+
+2. Edit the following lines, entering your values (# means comment, changing these lines won't bring any effect):
+
+```PowerShell
+# Enter the username of a user who has enough permissions to read the source site
+$admin1="t@trial890.onmicrosoft.com"
+
+# Where you want to copy the folder structure FROM
+$Sourcesite="https://trial890.sharepoint.com/sites/TeamsitewithLibraries"
+$sourceLibrary="tescik2"
+
+# Where you want to copy the folder structure TO
+$destinationSite="https://trial900.sharepoint.com"
+$destLibr="try1"
+
+# Enter the username of a user who has enough permissions to create folders in the target site
+$admin2="t@trial900.onmicrosoft.com"
+```
+```$admin1``` - user who has enough permissions to read the source site
+```$admin2``` - user who has enough permissions to create folders in the target site
+```$Sourcesite``` - url of the site where the source library is; it's the url of the site where you want to copy FROM
+```$destinationSite``` - url of the site where the target library is; it's the url of the site where you want to copy TO
+```$sourceLibrary``` - title of the original library where you want to copy the structure FROM
+
+```$destLibr``` - title of the destination library where you want to copy the structure TO
+
+**For all the data please stick to the formats as in the example.**
+
+3. Save and run the script. During execution it will ask you for a password and later on display relative urls of all the newly created folders.
+
+
+
+## Technicalities
+
+The scripts works with libraries, not lists.
+
+I tested it with several scenarios and it worked. However, testing went only as far as my imagination and limited time resources would go, so if you encounter a scenario where the script does not work or throws errors, please let me know in the Q&A section, and I will fix it.
+
+
+
+## Error handling
+
+Upper/lower case shouldn't cause any issues. That means whether you enter "DocLibrary" or "docliBRARY" they should be treated the same. If you notice otherwise, please report.
+
+Folders keep their casing. That means that "Big InvestMent" will remain "Big InvestMent" in the new library.
+
+
+
+## Other migration solutions
+
+[Copy folder structure across SharePoint Online sites](https://gallery.technet.microsoft.com/Copy-folder-structure-50a28b2b)
+
+[Copy folder structure from one library to another (SharePoint Online)](https://gallery.technet.microsoft.com/Copy-folder-structure-from-f6147ee6)
+
+
+
+
+Enjoy and please share feedback!
From 1a4283e23737cceffc2aa85bbb5ed6afb3a3e799 Mon Sep 17 00:00:00 2001
From: PowershellScripts <42035526+PowershellScripts@users.noreply.github.com>
Date: Thu, 7 Jan 2021 22:14:01 +0200
Subject: [PATCH 294/312] Delete MultipleLists.rar
---
.../MultipleListsC#/MultipleLists.rar | Bin 450875 -> 0 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 Lists and Libraries Management/MultipleListsC#/MultipleLists.rar
diff --git a/Lists and Libraries Management/MultipleListsC#/MultipleLists.rar b/Lists and Libraries Management/MultipleListsC#/MultipleLists.rar
deleted file mode 100644
index fbc71c695d1f4cf3c94f20264e1b2ca79540c630..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 450875
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 |