Sharepoint-beheer met PowerShell
Deze gids is voor degenen die al weten wat Sharepoint is. Kort gezegd, de focus van de gids ligt op Sharepoint Administration met Powershell (PoSH)
Variabelen :
Dit zijn eenvoudig een object dat iets bevat. Variabelen kunnen worden geïdentificeerd door een voorgaande $, zoals de nieuwe variabele die volgt:
$ nieuweWe vullen variabelen met het = -teken. De volgende instantiates (maakt een exemplaar van) een SharePoint-webobject (een SPWeb-object in de servertaalmodeltaal genoemd):
$ newSPweb = get-spweb http://url.to/my/subsite
U kunt uw variabelen vrijwel noemen wat u maar wilt, hoewel er regels zijn - google ze als u nieuwsgierig bent, aangezien de naamgevingsconventies van .Net-objecten enigszins buiten het bestek van dit document vallen.
Het SharePoint Server-objectmodel :
Dit maakt SharePoint Administration op de opdrachtregel zooo veel eenvoudiger en leuker dan de GUI. Er zijn echter wel enkele vereisten - vooral moet u SPShellAdmin-rechten krijgen voor elke database waarop u bewerkingen wilt uitvoeren.
Als u zich op een normaal PowerShell-scherm bevindt, kunt u de SharePoint-assembly toevoegen door het volgende te typen:
Add-pssnapin Microsoft.sharepoint.powershell
Als u geen SPShellAdmin hebt, ontvangt u waarschijnlijk een foutmelding dat de farm niet beschikbaar is.
Het volgende is een opdracht die ik met een van onze Farm Admin-serviceaccounts voer elke keer als ik ontdek dat mijn account geen SPShellAdmin heeft (we hebben ongeveer 20 verschillende bedrijven op het werk).
Gewoon een opmerking - deze opdracht moet worden uitgevoerd met een account dat al SPShellAdmin heeft - het moet ook worden uitgevoerd met de SharePoint Management Shell-app met beheerdersrechten / verhoogde bevoegdheden:
$ spdb = get-spdatabase
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken
$ username = domain \ myuser
Foreach ($ _ in $ spdb) {add-spshelladmin -database $ _. Id -username $ gebruikersnaam}
Wat deze opdracht doet, is dat deze ALLE databasenamen die de huidige SharePoint-databases bevatten, in de $ spdb-variabele opslaat en ook zegt dat ze binnen de lus afzonderlijk worden geadresseerd met de variabele $ _.
De variabele $ gebruikersnaam is de gebruikersnaam waarvoor u het recht SPShellAdmin wilt krijgen. De ForEach-lus zegt dat voor elk item in de $ spdb-variabele (die elk van de databases is, kunt u dat eenvoudig bekijken door get-spdatabase te typen), de opdracht tussen de {} moet worden uitgevoerd. Binnen de {} ziet u de $ _. Id - wat dit zegt is dat de ID van het specifieke database-item (GUID) moet worden gebruikt met de parameter -database en uw gebruikersnaam wordt gebruikt in de parameter -username.
Ervan uitgaande dat alles goed ging, krijg je mijn favoriete uitvoer van helemaal niets! Dit geldt als een van die situaties waarin 'geen nieuws is goed nieuws'.
Verder gaan .
Nu we toestemming hebben om hier te zijn, logt u uit bij uw serviceaccount en meldt u zich aan met uw gewone account.
Nadat je weer terug bent, open je een gewoon oud venster van PoSH en voeg je de SharePoint-assembly toe:
Add-pssnapin Microsoft.sharepoint.powershell
Typ vervolgens
Get-SPWebApplication
om alle webapps in uw boerderij te bekijken.
Laten we er een in een variabele plaatsen:
$ SPWebApp = get-spwebapplication http: // urlToMyWebApp
$ SPWebApp | get-lid
Je zou nu een gigantische lijst van dingen op je scherm moeten zien - dit zijn alle lidobjecten die beschikbaar zijn via het Objectmodel om mee te spelen.
$ SPWebApp.sites | selecteer rootweb, url
U zou nu een lijst moeten zien met alle siteverzamelingen die u eerder in uw webtoepassing hebt gemaakt.
Speel rond met get-member en selecteer met de | . Die verticale lijn wordt een pijp genoemd - het is hoe je objecten van de ene opdracht naar de andere kunt sturen.
Je kunt ook proberen de TAB-knop in te drukken op een gedeeltelijk voltooid commando om te zien wat er gebeurt (dit wordt Tab-Completion genoemd en is veruit een favoriet onderdeel van moderne opdrachtregelinterfaces!)
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken