SharePoint Online: PowerShell kullanarak bir Site Koleksiyonunun veya Alt Sitenin Var olup olmadığını kontrol edin
Gereksinim: PowerShell'i kullanarak SharePoint Online'da bir sitenin veya site koleksiyonunun mevcut olup olmadığını kontrol edin.
SharePoint Online'da bir sitenin mevcut olup olmadığı nasıl kontrol edilir?
SharePoint Online'da bir sitenin mevcut olup olmadığını kontrol etmeniz gerekti mi? Belki size potansiyel yeni bir sitenin URL'si verilmiştir ve siteyi oluşturmaya başlamadan önce zaten oluşturulduğundan emin olmak istiyorsunuzdur veya bir PowerShell betiği yazıyorsunuz ve devam etmeden önce sitenin var olduğunu doğrulamanız gerekiyor. senin kodun. Her iki durumda da bir sitenin var olup olmadığını kontrol etmenin birkaç yolu vardır. Hadi onlara bir göz atalım!
SharePoint Online'da bir site koleksiyonunun mevcut olup olmadığını doğrulamak için hızlıca şuraya gidebilirsiniz:
- https://
-admin.sharepoint adresindeki SharePoint yönetim merkezi. com >> Siteleri Genişletin >> Aktif Siteler. Site koleksiyonunun mevcut olup olmadığını kontrol etmek için "Siteleri ara" alanına site adını veya URL'sini girin.
Pekala, şimdi size bir SharePoint Online sitesinin var olup olmadığını kontrol etmek için PowerShell'i nasıl kullanacağınızı göstereceğim.
Verilen URL'de bir sitenin mevcut olup olmadığını kontrol etmek için SharePoint Online PowerShell CSOM:
Yönetim merkezinden tüm sitelerinizi aramak zorunda kalmadan bir sitenin zaten mevcut olup olmadığını nasıl anlarsınız? PowerShell kurtarmaya! Bu PowerShell betiği, verilen URL'de site koleksiyonunun mevcut olup olmadığını kontrol eder:
#Set Parameters
$AdminCenterURL="https://crescent-admin.sharepoint.com"
$SiteURL = "https://crescent.sharepoint.com/sites/suppliers"
#Connect to SharePoint Online
Connect-SPOService -Url $AdminCenterURL -Credential (Get-Credential)
#Get all site collections
$Sites = Get-SPOSite -Limit All | Select -ExpandProperty URL
#Check if any site with the URL exists already
If($Sites -notcontains $SiteURL)
{
Write-Host "Site Collection URL '$SiteURL' is available!" -f Green
}
Else
{
Write-Host "Site URL '$SiteURL' is not available!" -f Yellow
}
Bu, sürecinizi otomatikleştirmeye çalıştığınızda ve daha fazla işlem yapmadan önce sitenin var olduğundan emin olmanız gerektiğinde kullanışlı bir komut dosyasıdır. CSOM aracılığıyla bir sitenin veya site koleksiyonunun var olup olmadığını kontrol etmeye ne dersiniz?
#Load SharePoint Online Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Custom Function to Check if Site Collection Exists in Given URL
Function Check-SiteExists($SiteURL, $Credentials)
{
#Setup context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = $Credentials
$Web = $Ctx.Web
$Ctx.Load($web)
Try {
$Ctx.ExecuteQuery()
Return $True
}
Catch [Exception] {
Write-host $_.Exception.Message -f Red
Return $False
}
}
#Variable for Site collection URL
$URL= "https://crescent.sharepoint.com/sites/sales/"
#Setup Credentials to connect
$Cred = Get-Credential
$Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)
$SiteExists = Check-SiteExists -SiteURL $URL -Credentials $Cred
#Call the function to check site exists
if($SiteExists -eq $True)
{
write-host "Given Site Collection Exists!" -f Green
#Proceed with your script
}
else
{
write-host "Site Collection doesn't Exists on given URL!" -f Red
}
Ağla ilgili herhangi bir sorun veya kimlik doğrulama hatası durumunda Check-SiteExists işlevinin false değerini döndürebileceğini lütfen unutmayın.
Sitenin SharePoint Online'da olup olmadığını kontrol etmek için PnP PowerShell
PowerShell, Microsoft SharePoint Online'daki görevleri otomatikleştirmek için kullanabileceğiniz güçlü bir betik dilidir. SharePoint Online'da bir sitenin mevcut olup olmadığını kontrol etmek için PnP PowerShell'i nasıl kullanacağınızı size göstereyim:
#Parameters
$AdminCenterURL = "https://crescent-admin.sharepoint.com"
$SiteURL = "https://crescent.sharepoint.com/sites/procurement"
Try
{
#Connect to Tenant Admin
Connect-PnPOnline -URL $AdminCenterURL -Interactive
#Check if site exists
$Site = Get-PnPTenantSite | Where {$_.Url -eq $SiteURL}
If ($Site -eq $null)
{
Write-host "Site Collection $($SiteURL) doesn't exists!" -foregroundcolor Yellow
}
Else
{
Write-host "Site $($SiteURL) exists already!" -foregroundcolor Green
}
}
catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
PnP PowerShell, Site Koleksiyonunda Bir Alt Sitenin Var Olup Olmadığını Kontrol Etmek İçin
#Parameters
$SiteCollURL = "https://crescent.sharepoint.com/sites/Retail"
$SubSiteURL = "/sites/Retail/archived/2010" #ServerRelativeUrl
Try
{
#Connect to Tenant Admin
Connect-PnPOnline -URL $SiteCollURL -Interactive
#Get All Webs from the site
$Webs = Get-PnPSubWeb -Recurse -IncludeRootWeb
#Check if site exists
$Subsite = ($Webs | Select -ExpandProperty ServerRelativeUrl) -contains $SubSiteURL
If ($Subsite -eq $false)
{
Write-host "SubSite $($SubSiteURL) doesn't exists!" -foregroundcolor Yellow
}
Else
{
Write-host "Site $($SubSiteURL) exists!" -foregroundcolor Green
}
}
Catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
Bu, otomasyon amacıyla veya bir sitenin yayında olup olmadığını (veya silinip silinmediğini!) doğrulamak için yararlı olabilir. Şirket içi SharePoint'te PowerShell kullanarak site koleksiyonunun veya alt sitenin SharePoint'te mevcut olup olmadığını kontrol etmeye yönelik diğer sunucu tarafı komut dosyam.
