-
Notifications
You must be signed in to change notification settings - Fork 2
/
Get-MachineStartupShutdownScript.ps1
50 lines (39 loc) · 1.26 KB
/
Get-MachineStartupShutdownScript.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
##############################################################################
##
## Get-MachineStartupShutdownScript
##
## From Windows PowerShell Cookbook (O'Reilly)
## by Lee Holmes (http://www.leeholmes.com/guide)
##
##############################################################################
<#
.SYNOPSIS
Get the startup or shutdown scripts assigned to a machine
.EXAMPLE
PS > Get-MachineStartupShutdownScript -ScriptType Startup
Gets startup scripts for the machine
#>
param(
## The type of script to search for: Startup, or Shutdown.
[Parameter(Mandatory = $true)]
[ValidateSet("Startup","Shutdown")]
$ScriptType
)
Set-StrictMode -Version 3
## Store the location of the group policy scripts for the machine
$registryKey = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\System\Scripts"
## There may be no scripts defined
if(-not (Test-Path $registryKey))
{
return
}
## Go through each of the policies in the specified key
foreach($policy in Get-ChildItem $registryKey\$scriptType)
{
## For each of the scripts in that policy, get its script name
## and parameters
foreach($script in Get-ChildItem $policy.PsPath)
{
Get-ItemProperty $script.PsPath | Select Script,Parameters
}
}