forked from michaelb/simple-user-simulation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
EnableEverything.ps1
86 lines (64 loc) · 1.98 KB
/
EnableEverything.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
function Use-RunAs
{
# Check if script is running as Adminstrator and if not use RunAs
# Use Check Switch to check if admin
param([Switch]$Check)
$IsAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()`
).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")
if ($Check) { return $IsAdmin }
if ($MyInvocation.ScriptName -ne "")
{
if (-not $IsAdmin)
{
try
{
$arg = "-file `"$($MyInvocation.ScriptName)`""
Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList $arg -ErrorAction 'stop'
}
catch
{
Write-Warning "Error - Failed to restart script with runas"
break
}
exit # Quit this session of powershell
}
}
else
{
Write-Warning "Error - Script must be saved as a .ps1 file first"
break
}
}
#ask for admin rights
Use-RunAs
"Running as administrator"
""
""
"Please answer Y (yes) to the following question"
""
""
# Set start mode to automatic
Set-Service WinRM -StartMode Automatic -ErrorAction SilentlyContinue
"Step 1 done"
# Verify start mode and state - it should be running
#Get-WmiObject -Class win32_service | Where-Object {$_.name -like "WinRM"}
# Trust all hosts
Set-Item WSMan:localhost\client\trustedhosts -value * -ErrorAction SilentlyContinue
""
"Step 2 done"
# Verify trusted hosts configuration
#Get-Item WSMan:\localhost\Client\TrustedHosts
""
Try {
Enable-PSRemoting –force
}Catch {
"An error occured while trying to enable powershell remoting."
"It may happen when it was already activated, or else you are in trouble"
}
""
""
"All set!"
"This will close automatically now"
Start-Sleep -s 5
exit