-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path00_RunAllScripts.ps1
More file actions
142 lines (112 loc) · 4.08 KB
/
00_RunAllScripts.ps1
File metadata and controls
142 lines (112 loc) · 4.08 KB
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<#
.SYNOPSIS
Runs all other Powershell ps1 scripts for the target server
.DESCRIPTION
Runs all other Powershell ps1 scripts for the target server
.EXAMPLE
00_RunAllScripts.ps1 localhost
.EXAMPLE
00_RunAllScripts.ps1 server01 sa password
.Inputs
ServerName, [SQLUser], [SQLPassword]
.Outputs
.NOTES
.LINK
#>
Param(
[string]$SQLInstance="localhost",
[string]$myuser,
[string]$mypass
)
# --- TIPS ---
# Want to Register these or your own scripts as a Powershell Module?
# Rename them from .ps1 to .psm1 and put them in one of the folders pointed to by
# $env:PSModulePath (the Windows Environment path)
cls
[string]$BaseFolder = (Get-Item -Path ".\" -Verbose).FullName
# Load SMO Assemblies
Import-Module ".\LoadSQLSmo.psm1"
LoadSQLSMO
# Load More Assemblies
$startTime = get-date
# Script Name
Write-Host -f Yellow -b Black "00 - RunAllScripts"
# Server connection check
if ($mypass.Length -ge 1 -and $myuser.Length -ge 1)
{
Write-Output "$SQLInstance - Testing SQL Auth"
try
{
$results = Invoke-SqlCmd -ServerInstance $SQLInstance -Query "select serverproperty('productversion')" -Username $myuser -Password $mypass -QueryTimeout 10 #-erroraction SilentlyContinue
if($results -ne $null)
{
$myver = $results.Column1
Write-Output $myver
}
}
catch
{
Write-Host -f red "$SQLInstance not installed/running or is offline - Try Windows Auth?"
exit
}
}
else
{
Write-Output "$SQLInstance - Testing Windows Auth"
Try
{
$results = Invoke-SqlCmd -ServerInstance $SQLInstance -Query "select serverproperty('productversion')" -QueryTimeout 10 -erroraction SilentlyContinue
if($results -ne $null)
{
$myver = $results.Column1
Write-Output $myver
}
}
catch
{
Write-Host -f red "$SQLInstance not installed/running or is offline - Try SQL Auth?"
exit
}
}
set-location $BaseFolder
& .\01_Server_Appliance.ps1 $SQLInstance $myuser $mypass
& .\01_Server_Credentials.ps1 $SQLInstance $myuser $mypass
& .\01_Server_Logins.ps1 $SQLInstance $myuser $mypass
& .\01_Server_Resource_Governor.ps1 $SQLInstance $myuser $mypass
& .\01_Server_Roles.ps1 $SQLInstance $myuser $mypass
& .\01_Server_Settings.ps1 $SQLInstance $myuser $mypass
& .\01_Server_Shares.ps1 $SQLInstance $myuser $mypass
& .\01_Server_Storage.ps1 $SQLInstance $myuser $mypass
& .\01_Server_Triggers.ps1 $SQLInstance $myuser $mypass
& .\02_Linked_Servers.ps1 $SQLInstance $myuser $mypass
& .\03_NET_Assemblies.ps1 $SQLInstance $myuser $mypass
& .\04_Agent_Jobs.ps1 $SQLInstance $myuser $mypass
& .\04_Agent_Alerts.ps1 $SQLInstance $myuser $mypass
& .\04_Agent_Operators.ps1 $SQLInstance $myuser $mypass
& .\04_Agent_Proxies.ps1 $SQLInstance $myuser $mypass
& .\04_Agent_Schedules.ps1 $SQLInstance $myuser $mypass
& .\05_DBMail_Accounts.ps1 $SQLInstance $myuser $mypass
& .\05_DBMail_Profiles.ps1 $SQLInstance $myuser $mypass
& .\07_Service_Creds.ps1 $SQLInstance
& .\09_SSIS_Packages_from_MSDB.ps1 $SQLInstance $myuser $mypass
& .\09_SSIS_Packages_from_SSISDB.ps1 $SQLInstance $myuser $mypass
& .\10_SSAS_Objects.ps1 $SQLInstance $myuser $mypass
& .\11_SSRS_Objects.ps1 $SQLInstance $myuser $mypass
& .\12_Security_Audit.ps1 $SQLInstance $myuser $mypass
& .\13_PKI.ps1 $SQLInstance $myuser $mypass
& .\14_Service_Broker.ps1 $SQLInstance $myuser $mypass
& .\15_Extended_Events.ps1 $SQLInstance $myuser $mypass
& .\16_Audits.ps1 $SQLInstance $myuser $mypass
& .\17_Managed_Backups.ps1 $SQLInstance $myuser $mypass
# & .\18_Replication.ps1 $SQLInstance $myuser $mypass
# & .\19_AlwaysOn.ps1 $SQLInstance $myuser $mypass
& .\21_Dac_Packages.ps1 $SQLInstance $myuser $mypass
& .\22_Policy_Based_Mgmt.ps1 $SQLInstance $myuser $mypass
& .\23_Database_Diagrams.ps1 $SQLInstance $myuser $mypass
& .\24_Plan_Guides.ps1 $SQLInstance $myuser $mypass
# Duration
Write-Output "`r`n"
$ElapsedTime = ((get-date) - $startTime)
Write-Output ("$SQLInstance Elapsed time: {0:00}:{1:00}:{2:00}.{3:0000}" -f $ElapsedTime.Hours,$ElapsedTime.Minutes,$ElapsedTime.Seconds, $ElapsedTime.TotalMilliseconds)
set-location $BaseFolder
exit