PowerShell Remoting voor SharePoint 2010

by Marco Rietveld 2. december 2010 10:51

Een mogelijkheid met PowerShell en SharePoint 2010 is remote management. Dit betekend dat het mogelijk is om via PowerShell een SharePoint 2010 server remote te beheren zonder eerst een remote desktop verbinding met de server op te zetten. Om dit te kunnen doen zijn er een aantal zaken die eerst geconfigureerd moeten worden.

SharePoint Server

Remoting
Om te beginnen moet “remoting” worden aangezet op de server.
Windows PowerShell Remoting wordt ingeschakeld door de volgende cmdlet in PowerShell

Enable-PSRemoting

image

Test of remoting werkt op de server zelf:

Enter-PSSession –ComputerName localhost

image

Geheugen limiet voor remote shell
Standaard wordt er aan een remote shell 150MB geheugen toegewezen. Dit kan een probleem zijn bij commando’s die veel geheugen nodig hebben en daardoor fout gaan.
Met het volgende cmdlet wordt deze limiet verhoogd naar 1000MB

Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1000

image

CredSSP-ondersteuning
Om geen problemen te krijgen met “double hop” authenticatie wordt CredSSP ingeschakeld.

Enable-WSmanCredSSP -Role Server

image

 

Client
Voer de volgende stappen uit op de computer welke gebruikt wordt voor SharePoint remote powershell

start gpedit.msc

Navigeer naar: 
Local Computer Policy--> Computer Configuration--> Administrative Templates--> System--> Credentials Delegation

image

Allow Delegation Fresh Credentials
Voeg de SPN van de SharePoint server toe in het volgende formaat WSMAN/computer.domain

Allow Delegating Fresh Credentials with NTLM-only Server Authentication
Voeg de SPN van de SharePoint server toe in het volgende formaat WSMAN/computer.domain

image

Windows PowerShell Remoting wordt ingeschakeld door de volgende cmdlet in PowerShell

Enable-PSRemoting

image

CredSSP-ondersteuning
Om geen problemen te krijgen met “double hop” authenticatie

Enable-WSManCredSSP -Role Client –DelegateComputer “Servernaam”

image

Heeft de user waarmee je bent ingelogd de juiste rechten op de SharePoint server dan is het mogelijk om verbinding te maken met de SharePoint server.

Enter-PSSession –ComputerName “Servernaam”

image

Heeft de user waarmee je bent ingelogd niet de juiste rechten op de SharePoint server dan is het mogelijk om een verbinding te maken met een ander account

image

Verbinding maken met een ander Account.

Maak een password bestand
Het password wat gebruikt wordt voor dit account wordt encrypt opgeslagen in een tekst bestand

Read-Host -AsSecureString | ConvertFrom-SecureString | out-file C:\shp_pws.txt

type hierna het password van het account dat je gebruikt om in te loggen op server gevolgd door een enter.

image

Maak de volgende variabelen:

$pwd = Get-Content C:\shp_pws.txt | ConvertTo-SecureString
$crd = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "domain\account",$pwd
$session = New-PSSession -computername "Servernaam" -Authentication CredSSP -Credential $crd

image 

Maak verbinding met de server.

Enter-PSSession $session

image

Laad de SharePoint cmdlets

Add-PSSnapin Microsoft.SharePoint.Powershell

image

Powershell script

Bovenstaand kan ook via een powershell script, het eerder aangemaakte password bestand kan hiervoor worden gebruikt.

Kopieer het volgende in een tekst bestand en sla het op als remote_server.ps1

$pwd = Get-Content C:\shp_pws.txt | ConvertTo-SecureString
$crd = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList "domain\account",$pwd
$session = New-PSSession -computername "Servernaam" -Authentication CredSSP -Credential $crd
Enter-PSSession $session
Invoke-Command -Session $session -ScriptBlock{Add-PsSnapin Microsoft.SharePoint.PowerShell}

Om een verbinding te maken naar de sharepoint server, maak een shortcut aan met het volgende:

powershell.exe -noexit C:\remote_server.ps1

Tags: | |

Reactie plaatsen


  • Reactie
  • Live voorbeeld
Loading

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2018 SharePoint Geek