PowerShell Remoting einrichten

Man möchte sich ja immer das Arbeiten etwas erleichtern, daraus sind folgende Wünsche entstanden.

  • Wie kann ich PS Befehle oder Skripte Remote auf SharePoint Servern starten?
  • Wie kann ich das tun, wenn ich eine Farm mit mehreren Servern habe? (Client zu SP Server, SPAnfrage zu SQL Server [Double hop])
  • Wie kann ich mich Anmelden, ohne jedesmal die LogIn Daten eingeben zu müssen?
  • Wie kann ich mich Remote im Maschinen Kontext anmelden?
  • Kann ich PS starten, einen meiner Server wählen und sofort loslegen?
  • All das möchte ich hier beschreiben.

 

 

PS mit Admin- Rechten starten und folgende Befehle eingeben:

WinRM quickConfig
Enable-WSManCredSSP -Role client -DelegateComputer *

PS mit Admin- Rechten starten und folgende Befehle eingeben:

Enable-PSRemoting
Enable-WSManCredSSP –role server
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Nun werde ich die Kennwörter verschlüsselt unter C:\Temp ablegen, damit ich diese nicht ständig eingeben muß.

PS als Admin Öffnen und folgenden Befehl eingeben:

Read-Host -AsSecureString | ConvertFrom-SecureString | out-file C:\temp\crd-win-2012-server.txt

Nach ENTER, kann sofort das erforderliche Kennwort für den Farm Account eingegeben werden.

Bei mehreren Farmen, die txt’s übersichtlich benennen.

Prüfen ob eines vorhanden ist und wo es sich befindet.

$Profile

PS C:\windows\system32> $profile
D:\Daten\u48mll\Eigene Dateien\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

Bei mir existiert bereits ein Profile. Falls keines besteht, dann mit Notepad eines erstellen.

Ich benutze Funktionen. Für jeden Server, eine Funktion.

Die erste Funktion greift Remote auf einen Win 2012 Server zu. Die zweite Funktion auf einen Win 2016 Server. In der zweiten Funktion ist die Änderung zur ersten lila markiert. Wir haben festgestellt, das die erste Funktion zu Fehlern mit einem Win 2016 Server führt. Nur als Hinweis, falls jemand ähnliches Problem hat.

Ist das Profil gespeichert, öffnet man die PowerShell als Admin, gibt goto ein + TAB- Taste und wählt den Server aus, mit dem man sich verbinden möchte.


Function Goto-WIN-2012-Server
{

Write-Host „Verbinde zu WIN-2012-Server …“
$ErrorActionPreference = „silentlycontinue“
$pwd = Get-Content C:\temp\crd-win-2012-server.txt | ConvertTo-SecureString
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList „Domäne\farmadmin1“,$pwd

$session = New-PSSession WIN-2012-Server -Credential $credential

Enter-PSSession -Session $session
Invoke-command $session {Add-PSSnapin Microsoft.SharePoint.Powershell}

Import-pssession -session $session -AllowClobber

$ErrorActionPreference = „continue“
Write-Host „“
Write-Host „“
Write-Host „Zum Test, bitte >> Get-SPSite << eingeben…“
}

Function Goto-WIN-2016-Server
{

Write-Host „Verbinde zu WIN-2016-Server …“
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
$ErrorActionPreference = „silentlycontinue“
$pwd = Get-Content C:\temp\crd-WIN-2016-Server.txt | ConvertTo-SecureString
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList „Domäne\farmadmin2“,$pwd

$session = New-PSSession WIN-2016-Server -Authentication CredSSP -Credential $credential

Enter-PSSession -Session $session
Invoke-command $session {Add-PSSnapin Microsoft.SharePoint.Powershell}

Import-pssession -session $session -AllowClobber

$ErrorActionPreference = „continue“
Write-Host „“
Write-Host „“
Write-Host „Zum Test, bitte >> Get-SPSite << eingeben…“
}

 

0
Comments

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.