PowerShell mappa létrehozásához a SharePoint dokumentumtárban
Követelmény: Hozzon létre egy új mappát a SharePoint Server Dokumentumtárban.
Hogyan lehet mappát hozzáadni a SharePoint dokumentumtárhoz a PowerShell segítségével?
A PowerShell használatával gyorsan létrehozhat mappákat a SharePointban. Ebből a blogbejegyzésből megtudhatja, hogyan hozhat létre új mappát a SharePoint dokumentumtárban a PowerShell segítségével.
Mappa létrehozásához a SharePoint Server dokumentumtárában használja ezt a PowerShell-szkriptet:
$folder = $list.Folders.Add("", [Microsoft.SharePoint.SPFileSystemObjectType]::Folder, "New")
$folder.Update()
A fenti szkript nem nyújt túl nagy hibatűrést, igaz?
- Mi van akkor, ha az általunk keresett könyvtár nem létezik?
- Mi a teendő, ha a hozzáadni kívánt mappa már létezik a könyvtárban?
Hiba! Tehát kis hibatűréssel írjuk újra a kódot a PowerShellben!
Hogyan hozhatunk létre mappákat és almappákat a SharePoint-listában a PowerShell segítségével?
Íme a PowerShell-kódrészlet a SharePoint-listán vagy -könyvtáron belüli mappák és almappák létrehozásához:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Get the Web
$web=Get-SPWeb "https://sharepoint.company.com"
#Get the List/Library
$list=$web.Lists.TryGetList("SalesList")
If($list) #Check If List exists!
{
#Check Folder Doesn't exists in the Library!
$folder = $list.ParentWeb.GetFolder($list.RootFolder.Url + "/" +"Sales List");
#sharepoint powershell check if folder exists
If($folder.Exists -eq $false)
{
#Create a Folder
$folder = $list.AddItem([string]::Empty, [Microsoft.SharePoint.SPFileSystemObjectType]::Folder, "Sales Sub-Item")
$folder.Update();
}
#Create a Sub-Folder "APAC Sales Documents" inside "Sales Documents"
$Subfolder = $list.ParentWeb.GetFolder($folder.URL + "/" + "APAC Sales Documents");
#Check if sub-folder doesn't exist already
If ($Subfolder.Exists -eq $false)
{
#Create a Sub-Folder Inside "Sales Documents"
$Subfolder = $list.AddItem($folder.URL, [Microsoft.SharePoint.SPFileSystemObjectType]::Folder, "APAC Sales Documents")
$Subfolder.Update();
}
}
Mit szólna egy beágyazott mappastruktúra biztosításához a SharePoint Libraryben? Például. Könyvtár/FolderA/FolderAA/FolderAAA
#Get the Web
$web=Get-SPWeb "https://sharepoint.company.com"
#Get the List/Library
$list=$web.Lists.TryGetList("Documents")
#Function to Ensure FolderPath
Function Ensure-FolderPath($FolderPath)
{
$SubFolders = $FolderPath -split "/"
$RootFolder = $SubFolders[0]
$SubfolderPath = $RootFolder
For($i =1; $i -le $SubFolders.count-1; $i++)
{
$SubfolderPath = $SubfolderPath+"/"+$SubFolders[$i]
$Folder = $Web.GetFolder($SubfolderPath)
#Create Folder if it doesn't exists
If($Folder.Exists -eq $false)
{
$TargetFolder = $Web.Folders.Add($SubfolderPath)
Write-host "Folder Created:"$SubfolderPath
}
}
}
#Call the function to Ensure Folder Path
Ensure-FolderPath "Documents/Technical Design/Assorted/2020"
