windows_server:allgemein
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| windows_server:allgemein [2017/04/12 09:00] – kwagner | windows_server:allgemein [2019/09/10 11:06] (aktuell) – kwagner | ||
|---|---|---|---|
| Zeile 19: | Zeile 19: | ||
| get-childitem | foreach { $_.LastWriteTime=Get-Date } | get-childitem | foreach { $_.LastWriteTime=Get-Date } | ||
| </ | </ | ||
| + | |||
| + | ==== Royal TS Prepare Server Powershell-Skript ==== | ||
| + | |||
| + | <file powershell prepare_server.ps1> | ||
| + | # prepare_server.ps1 | ||
| + | # | ||
| + | # Script is to be used at own risk | ||
| + | # | ||
| + | # PowerShell script that does the following steps: | ||
| + | # 1. Enable-PSRemoting for localhost | ||
| + | # 2. Enables the Firewall Rule " | ||
| + | # 3. Enables the Firewall Rule " | ||
| + | # | ||
| + | # execution: | ||
| + | # | ||
| + | # | ||
| + | # tested on: | ||
| + | # 1. windows server 2012 r2 | ||
| + | # 2. windows server 2012 | ||
| + | # | ||
| + | # known issues: | ||
| + | # | ||
| + | # fix: use the following commandline to enable the firewall vie netsh: | ||
| + | # netsh advfirewall firewall set rule name=" | ||
| + | # netsh advfirewall firewall set rule name=" | ||
| + | # | ||
| + | # but our tests showed that this is not needed anyways on this operating system. | ||
| + | # | ||
| + | # | ||
| + | # problem: File can not be loaded because running scripts is disabled on this system. | ||
| + | # fix: enabled runnning scripts via Set-ExecutionPolicy unrestricted | ||
| + | # | ||
| + | # | ||
| + | |||
| + | function Test-PSRemoting | ||
| + | { | ||
| + | param( | ||
| + | [Parameter(Mandatory = $true)] | ||
| + | $computername | ||
| + | ) | ||
| + | | ||
| + | try | ||
| + | { | ||
| + | $errorActionPreference = " | ||
| + | $result = Invoke-Command -ComputerName $computername { 1 } | ||
| + | } | ||
| + | catch | ||
| + | { | ||
| + | Write-Verbose $_ | ||
| + | return $false | ||
| + | } | ||
| + | |||
| + | if($result -ne 1) | ||
| + | { | ||
| + | Write-Verbose " | ||
| + | return $false | ||
| + | } | ||
| + | $true | ||
| + | } | ||
| + | |||
| + | function EnableFirewallRuleIfNeeded { | ||
| + | param ([string]$ruleName) | ||
| + | |||
| + | |||
| + | $rules = Get-NetFirewallRule -DisplayName $ruleName | ||
| + | |||
| + | foreach($rule in $rules) | ||
| + | { | ||
| + | if($rule.Enabled.ToString() -eq " | ||
| + | { | ||
| + | $msg = "Rule ' | ||
| + | $en = Read-Host $msg | ||
| + | if($en -eq " | ||
| + | { | ||
| + | | ||
| + | Set-NetFirewallRule -Name $rule.Name -Enabled True | ||
| + | $newrule = Get-NetFirewallRule -Name $rule.Name | ||
| + | |||
| + | "Rule ' | ||
| + | } | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | $msg = "Rule ' | ||
| + | Write-Host $msg | ||
| + | } | ||
| + | } | ||
| + | | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | # PSRemoting | ||
| + | function EnablePSRemotingIfNeeded { | ||
| + | $psremotingEnabled = Test-PsRemoting -computername localhost | ||
| + | if($psremotingEnabled -eq $false) | ||
| + | { | ||
| + | $msg = " | ||
| + | $en = Read-Host $msg | ||
| + | if($en -eq " | ||
| + | { | ||
| + | |||
| + | $err = @() | ||
| + | Enable-PSRemoting -ErrorAction SilentlyContinue -ErrorVariable err | ||
| + | | ||
| + | | ||
| + | if ($err -ne $null) | ||
| + | { | ||
| + | Write-Host " | ||
| + | $err | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | Write-Host " | ||
| + | } | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | Write-Host "No changes were done to PSRemoting. Royal Server needs it to be enabled to work." | ||
| + | } | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | Write-Host " | ||
| + | } | ||
| + | } | ||
| + | |||
| + | |||
| + | # Enable-PSRemoting | ||
| + | EnablePSRemotingIfNeeded | ||
| + | |||
| + | # firewall rules | ||
| + | EnableFirewallRuleIfNeeded " | ||
| + | EnableFirewallRuleIfNeeded " | ||
| + | |||
| + | </ | ||
windows_server/allgemein.1491980440.txt.gz · Zuletzt geändert: von kwagner
