Hallo, Sinds kort hebben wij op kantoor een koppeling gemaakt tussen CRM on-premise en SharePoint online. Nu hebben wij voor elke klant in CRM een apparte subsite gemaakt binnen een specifieke sitecollectie. Binnen deze sitecollectie hebben wij subsites aangemaakt dmv een voorgedfinieerde template welke met een workflow wordt afgetrapt waarin is opnomen dat files in en uit gecheckt moeten worden.
Nu ben ik bezig wil ik een script maken welke alle items in checkt om 23.59. (voor het geval dat mijn lieve collega's vergeten hun files in te checken)
Het onderstaande heb ik geprobeerd maar ik loop vast op een aantal lijnen.
$userName = "crmadmin@mijn domijn.nl"
$password = "mijn password"
$siteCollectionUrl = "https://tenant-admin.sharepoint.com"
$siteAdminUrl = "https://tenant.sharepoint.com/sites/crmklantdocumentatie"
$securePassword = ConvertTo-SecureString $password –AsPlainText –force
$O365Credential = New-Object System.Management.Automation.PsCredential($username, $securePassword)
Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking
Connect-SPOService –url $siteCollectionUrl –Credential $O365Credential
Function CheckinALLdocs([system.object]$folder)
{
$folder | foreach {
$file = $_.files #| where {$_.files -ne $null}
$file | where {$_.checkoutstatus -ne "None"} | foreach {
Write-Host “$($_.Name) is Checked out To: $($_.CheckedOutBy)”
$_.CheckIn(“Checked In By Administrator”)
Write-Host “$($_.Name) Checked In” -ForeGroundColor Green
}
If ($_.folders -ne $null) { Checkindocs $_.folders }
If ($_.subfolders -ne $null) { Checkindocs $_.subfolders }
}
}
$spsite = get-spsite "https://tenant.sharepoint.com/sites/crmklantdocumentatie"
checkinALLdocs $spsite.allwebs
alleen werkt mijn script helaas niet kan iemand mij hierbij helpen? Het gaat om omgeveer 1500 subsites.
Nu ben ik bezig wil ik een script maken welke alle items in checkt om 23.59. (voor het geval dat mijn lieve collega's vergeten hun files in te checken)
Het onderstaande heb ik geprobeerd maar ik loop vast op een aantal lijnen.
$userName = "crmadmin@mijn domijn.nl"
$password = "mijn password"
$siteCollectionUrl = "https://tenant-admin.sharepoint.com"
$siteAdminUrl = "https://tenant.sharepoint.com/sites/crmklantdocumentatie"
$securePassword = ConvertTo-SecureString $password –AsPlainText –force
$O365Credential = New-Object System.Management.Automation.PsCredential($username, $securePassword)
Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking
Connect-SPOService –url $siteCollectionUrl –Credential $O365Credential
Function CheckinALLdocs([system.object]$folder)
{
$folder | foreach {
$file = $_.files #| where {$_.files -ne $null}
$file | where {$_.checkoutstatus -ne "None"} | foreach {
Write-Host “$($_.Name) is Checked out To: $($_.CheckedOutBy)”
$_.CheckIn(“Checked In By Administrator”)
Write-Host “$($_.Name) Checked In” -ForeGroundColor Green
}
If ($_.folders -ne $null) { Checkindocs $_.folders }
If ($_.subfolders -ne $null) { Checkindocs $_.subfolders }
}
}
$spsite = get-spsite "https://tenant.sharepoint.com/sites/crmklantdocumentatie"
checkinALLdocs $spsite.allwebs
alleen werkt mijn script helaas niet kan iemand mij hierbij helpen? Het gaat om omgeveer 1500 subsites.