Create a tenant-scoped addin with Full Control permissions. Use the ClientId and ClientSecret switches for Connect-SPOService instead of a username and password.
Task scheduler credentials powershell
Hi I have written a ps script to set retention policy for SP sites. Wheras the script works, I need to make it non interactive. Any help will be highly appreciated...
Start-Transcript
install-module if does not exist
Import-Module Microsoft.Online.SharePoint.Powershell -DisableNameChecking
Import-Module ExchangeOnlineManagement
Variables for processing
$AdminCenterURL = "https://xyz-admin.sharepoint.com/"
User Name Password to connect
$AdminUserName = "@stgtenant.onmicrosoft.com"
$AdminPassword = "" #App Password
create temp folder if it does not exist
$ReportOutput="C:\Temp\pvtSiteColl.csv"
Connect-IPPSSession -UserPrincipalName $AdminUserName
Prepare the Credentials
$SecurePassword = ConvertTo-SecureString $AdminPassword -AsPlainText -Force
$Cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminUserName, $SecurePassword
Connect to SharePoint Online
Connect-SPOService -url $AdminCenterURL
Get All site collections
$SiteCollections = Get-SPOSite -Limit All| Where { $_.Template -eq "TEAMCHANNEL#0"}
Write-Host "Total Number of Private Site collections Found:"$SiteCollections.count -f Yellow
Array to store Result
$ResultSet = @()
Loop through each site collection and retrieve details
Foreach ($Site in $SiteCollections)
{
Write-Host "Processing Site Collection :"$Site.URL -f Yellow
Get site collection details
$Result = new-object PSObject
$Result | add-member -membertype NoteProperty -name "Title" -Value $Site.Title
$Result | add-member -membertype NoteProperty -name "Url" -Value $Site.Url
$Result | add-member -membertype NoteProperty -name "Template" -Value $Site.Template
Set-RetentionCompliancePolicy -Identity "testFilesRetention" -AddSharePointLocation $Site.Url
$ResultSet += $Result
}
Export Result to csv file
$ResultSet | Export-Csv $ReportOutput -notypeinformation
Write-Host "private site Report Generated Successfully!" -f Green
Stop-Transcript
2 answers
Sort by: Most helpful
-
-
ChelseaWu-MSFT 6,316 Reputation points
2020-09-16T02:35:49.03+00:00 In addition to trevorseward’s Answer:
You can use Window Credential Manager to store and then pass the credentials when executing PowerShell commands.
Please refer to the link here for detailed information: Quick Authentication From PnP PowerShell To Access SharePoint.Here is another post of discussion for your reference: How to avoid credential popup, to connect with graph API in the powershell script?
If an Answer is helpful, please click "Accept Answer" and upvote it.
**Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread. **