Skip to content

Commit

Permalink
Merge pull request #1 from Schutzhund3/fix-instace-name
Browse files Browse the repository at this point in the history
resolve cluster instance name
  • Loading branch information
Schutzhund3 committed Oct 5, 2017
2 parents 4624f0c + 76dcbcf commit d4f2bd5
Showing 1 changed file with 30 additions and 25 deletions.
55 changes: 30 additions & 25 deletions SQLServerDSC.Reverse.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ $Script:dscConfigContent = ""
$Script:sqlConnectionInfo = $null
$DSCSource = "C:\Program Files\WindowsPowerShell\Modules\xSQLServer\"
$DSCVersion = "7.1.0.0"
$Script:setupAccount = Get-Credential -Message "Setup Account"
#$Script:setupAccount = Get-Credential -Message "Setup Account"

try {
$currentScript = Test-ScriptFileInfo $SCRIPT:MyInvocation.MyCommand.Path
Expand Down Expand Up @@ -83,31 +83,32 @@ function Orchestrator
# Loop through all SQL Instances and extract their DSC information;
foreach($sqlInstance in $SQLInstances)
{
$Script:sqlConnectionInfo = Connect-SQL -SQLServer $env:COMPUTERNAME -SQLInstanceName $sqlInstance.Instance

$Script:sqlConnectionInfo = Connect-SQL -SQLServer $sqlInstance.sqlserver -SQLInstanceName $sqlInstance.Instance
write-host $sqlInstance
write-host $sqlinstance.Instance
Write-Host "["$sqlInstance.Instance"] Scanning SQL Server Memory..." -BackgroundColor DarkGreen -ForegroundColor White
Read-SQLMemory -SQLInstanceName $sqlInstance.Instance
Read-SQLMemory -SQLServer $sqlinstance.sqlserver -SQLInstanceName $sqlinstance.Instance

Write-Host "["$sqlInstance.Instance"] Scanning SQL Server Database(s)..." -BackgroundColor DarkGreen -ForegroundColor White
Read-SQLDatabase -SQLServer $env:COMPUTERNAME -SQLInstanceName $sqlInstance.Instance
Read-SQLDatabase -SQLServer $sqlinstance.sqlserver -SQLInstanceName $sqlInstance.Instance

Write-Host "["$sqlInstance.Instance"] Scanning SQL Server Configuration Option(s)..." -BackgroundColor DarkGreen -ForegroundColor White
Read-SQLConfiguration -SQLServer $env:COMPUTERNAME -SQLInstanceName $sqlInstance.Instance
Read-SQLConfiguration -SQLServer $sqlinstance.sqlserver -SQLInstanceName $sqlInstance.Instance

Write-Host "["$sqlInstance.Instance"] Scanning SQL Server Login(s)..." -BackgroundColor DarkGreen -ForegroundColor White
Read-SQLLogin -SQLServer $env:COMPUTERNAME -SQLInstanceName $sqlInstance.Instance
Read-SQLLogin -SQLServer $sqlinstance.sqlserver -SQLInstanceName $sqlInstance.Instance

Write-Host "["$sqlInstance.Instance"] Scanning SQL Server Maximum Degree of Parallelism..." -BackgroundColor DarkGreen -ForegroundColor White
Read-SQLMaxDop -SQLServer $env:COMPUTERNAME -SQLInstanceName $sqlInstance.Instance
Read-SQLMaxDop -SQLServer $sqlinstance.sqlserver -SQLInstanceName $sqlInstance.Instance

Write-Host "["$sqlInstance.Instance"] Scanning SQL Server Network Protocol(s)..." -BackgroundColor DarkGreen -ForegroundColor White
Read-SQLNetwork -SQLInstanceName $sqlInstance.Instance
Read-SQLNetwork -SQLServer $sqlinstance.sqlserver -SQLInstanceName $sqlInstance.Instance

Write-Host "["$sqlInstance.Instance"] Scanning SQL Always On Service..." -BackgroundColor DarkGreen -ForegroundColor White
Read-SQLAlwaysOnService -SQLInstanceName $sqlInstance.Instance
Read-SQLAlwaysOnService -SQLServer $sqlinstance.sqlserver -SQLInstanceName $sqlInstance.Instance

Write-Host "["$sqlInstance.Instance"] Scanning SQL Always On Availability Group(s)..." -BackgroundColor DarkGreen -ForegroundColor White
Read-SQLAlwaysOnAvailabilityGroup -SQLInstanceName $sqlInstance.Instance
Read-SQLAlwaysOnAvailabilityGroup -SQLServer $sqlinstance.sqlserver -SQLInstanceName $sqlInstance.Instance
}
Write-Host "Scanning Requirement(s)..."
Read-SQLAOGroupEnsure
Expand All @@ -132,8 +133,8 @@ function Read-SQLMemory($SQLInstanceName)
$params = Get-DSCFakeParameters -ModulePath $module

# Setting Primary Keys
$params.SQLInstanceName = $SQLInstanceName
$params.SQLServer = $env:COMPUTERNAME
$params.SQLInstanceName = $SQLInstance.Instance
$params.SQLServer = $SQLInstance.sqlserver

$results = Get-TargetResource @params

Expand All @@ -153,7 +154,7 @@ function Read-SQLAOGroupEnsure()
{
# Setting Primary Keys
$params.AvailabilityGroupName = $availabilityGroup.Name
$params.SetupCredential = $Script:setupAccount
# $params.SetupCredential = $Script:setupAccount

$results = Get-TargetResource @params

Expand All @@ -174,8 +175,8 @@ function Read-SQLAlwaysOnAvailabilityGroup($SQLInstanceName)
{
# Setting Primary Keys
$params.Name = $availabilityGroup.Name
$params.SQLServer = $env:COMPUTERNAME
$params.SQLInstanceName = $SQLInstanceName
$params.SQLInstanceName = $SQLInstance.Instance
$params.SQLServer = $SQLInstance.sqlserver

$results = Get-TargetResource @params

Expand All @@ -193,12 +194,12 @@ function Read-SQLAlwaysOnService($SQLInstanceName)
$params = Get-DSCFakeParameters -ModulePath $module

# Setting Primary Keys
$params.SQLServer = $env:COMPUTERNAME
$params.SQLInstanceName = $SQLInstanceName
$params.SQLInstanceName = $SQLInstance.Instance
$params.SQLServer = $SQLInstance.sqlserver

$results = Get-TargetResource @params
$results.Add("SQLServer", $env:COMPUTERNAME)
$results.Add("SQLInstanceName", $SQLInstanceName)
$results.Add("SQLServer", $SQLInstance.sqlserver)
$results.Add("SQLInstanceName", $SQLInstance.Instance)

# WA - Get-TargetResource doesn't return the proper values, so we need to work around it;
if($null -ne $results.Get_Item("IsHadrEnabled"))
Expand Down Expand Up @@ -227,8 +228,8 @@ function Read-SQLConfiguration($SQLServer, $SQLInstanceName)
$params = Get-DSCFakeParameters -ModulePath $module

# Setting Primary Key SQLInstanceName
$params.SQLInstanceName = $SQLInstanceName
$params.SQLServer = $env:COMPUTERNAME
$params.SQLInstanceName = $SQLInstance.Instance
$params.SQLServer = $SQLInstance.sqlserver

$options = $Script:sqlConnectionInfo.Configuration.Properties

Expand Down Expand Up @@ -499,6 +500,8 @@ Function Get-SQLInstance
$WMIResults = Get-WMIObject @WMIParams
$GroupResults = $WMIResults | Group ServiceName
$PropertyHash['Instance'] = $GroupResults.Name
if ($PropertyHash.Instance -like "MSSQL$*")
{$PropertyHash['Instance'] = $PropertyHash['Instance'].SubString(6)}
$WMIResults | ForEach {
$Name = "{0}{1}" -f ($_.PropertyName.SubString(0,1),$_.PropertyName.SubString(1).ToLower())
$Data = If ($_.PropertyStrValue) {
Expand Down Expand Up @@ -560,10 +563,12 @@ Function Get-SQLInstance
$PropertyHash['SqlServer'] = $Computer
}
$PropertyHash['FullName'] = ("{0}\{1}" -f $Name,$PropertyHash['Instance'])
#emdregion Full SQL Name
#emdregion Full SQL Name
Write-Host $sqlInstance
$Object = [pscustomobject]$PropertyHash
$Object.pstypenames.insert(0,'SQLServer.Information')
$Object
write-host $sqlInstance
}#FOREACH INSTANCE
}#IF
}
Expand All @@ -577,8 +582,8 @@ function Get-ReverseDSC()
Orchestrator

<## Prompts the user to specify the FOLDER path where the resulting PowerShell DSC Configuration Script will be saved. #>
$fileName = "SQLServer.DSC.ps1"
$OutputDSCPath = Read-Host "Please enter the full path of the output folder for DSC Configuration (will be created as necessary)"
$fileName = "SQLServer.DSC.ps1"
$OutputDSCPath = Read-Host "Please enter the full path of the output folder for DSC Configuration (will be created as necessary)"

<## Ensures the specified output folder path actually exists; if not, tries to create it and throws an exception if we can't. ##>
while (!(Test-Path -Path $OutputDSCPath -PathType Container -ErrorAction SilentlyContinue))
Expand Down

0 comments on commit d4f2bd5

Please sign in to comment.