* Delete AzS-PoSh-Environment.ps1

* logon update

* Delete ERCS_AzureStackLogs.ps1

* json file location update
This commit is contained in:
William Effinger 2017-11-27 15:03:23 -08:00 коммит произвёл Krishna Nithin
Родитель c76963b9d0
Коммит 68d825a8c2
2 изменённых файлов: 111 добавлений и 54 удалений

Просмотреть файл

@ -112,9 +112,17 @@ $global:Toolspath ="C:\AzureStackTools\AzureStack-Tools-master"
#Check for the JSON
If ((Test-Path -Path "$($Env:ProgramData)\AzureStackStampInformation.json") -eq $true)
{
Write-Host "`n[INFO] Load AzureStackStampInformation.json" -ForegroundColor yellow
Write-Host "`n[INFO] Loaded AzureStackStampInformation.json from ProgramData" -ForegroundColor Yellow
$FoundJSONFile = Get-Content -Raw -Path "$($Env:ProgramData)\AzureStackStampInformation.json" | ConvertFrom-Json
}
If ((Test-Path -Path "$($Env:ProgramData)\AzureStackStampInformation.json") -eq $false)
{
if ((Test-Path -Path "$($env:SystemDrive)\CloudDeployment\Logs\AzureStackStampInformation.json") -eq $true)
{
Write-Host "`n[INFO] Loaded AzureStackStampInformation.json from CloudDeployment" -ForegroundColor Yellow
$FoundJSONFile = Get-Content -Raw -Path "$($env:SystemDrive)\CloudDeployment\Logs\AzureStackStampInformation.json" | ConvertFrom-Json
}
}
#Go Get the JSON file
if(!($FoundJSONFile))
@ -238,32 +246,54 @@ If($envInfo)
Try
{
$TenantId = $envInfo.TenantId
Write-Host "`n[INFO] - Login to Azure RM with AzureStack Stamp Service Admin Account" -ForegroundColor Yellow
Login-AzureRmAccount -Environment "AzureStackAdmin" -TenantId $TenantId
Write-Host "`n[INFO] - Login to Azure RM" -ForegroundColor Yellow
$location = Get-AzsLocation
$location = $location.Name
function Read-InputBoxDialog([string]$Message, [string]$WindowTitle, [string]$DefaultText)
{
Add-Type -AssemblyName Microsoft.VisualBasic
return [Microsoft.VisualBasic.Interaction]::InputBox($Message, $WindowTitle, $DefaultText)
}
Write-Host "`n[INFO] - Obtaining subscriptions" -ForegroundColor Yellow
[array] $AllSubs = get-AzureRmSubscription
Write-Host "`n[Prompt] for AzureStack Administrator name" -ForegroundColor Yellow
[String]$AzSUser = Read-InputBoxDialog -Message "Please enter AzureStack the Admin you use to log into the Administrative portal: `n`n`tUSER@$($envInfo.IdTenantName)" -WindowTitle "Azure Stack Administrative portal user" -DefaultText "SOMEUSER@$($envInfo.IdTenantName)"
$cred = Get-Credential -UserName $AzSUser -Message "$($AzSUser) Password"
$AzSLogin = Login-AzureRmAccount -Credential $cred -TenantId $TenantId -Environment "AzureStackAdmin"
$azsadmin = $AzSLogin.Context.Account.Id
if($azsadmin)
{
Write-Host "`t$($azsadmin)"
$location = Get-AzsLocation
$location = $location.Name
Write-Host "`n[INFO] - Obtaining subscriptions" -ForegroundColor Yellow
[array] $AllSubs = get-AzureRmSubscription
}
Else
{
Write-Host "`n`t`t[Error] Did not login $_" -ForegroundColor Red
Write-Host "`n Press any key to continue ...`n"
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
exit
}
}
catch [System.Exception]
{
Write-Host "`n`t`t[Error] Wrong Password: $_" -ForegroundColor Red
Write-Host "`n`t`t[Error] Wrong Username or Password: $_" -ForegroundColor Red
Write-Host "`n Press any key to continue ...`n"
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
exit
}
If ($AllSubs.count -eq 1)
If (($AllSubs.count -eq 1) -and ($azsadmin))
{
Select-AzureRmSubscription -Subscriptionid $AllSubs.id | Out-Null
Write-Host "`tSuccess" -ForegroundColor Green
Write-Host "`tSuccess" -ForegroundColor White
}
Else
{
If ($AllSubs)
If (($AllSubs) -and ($azsadmin))
{
Write-Host "`tSuccess" -ForegroundColor Green
Write-Host "`tSuccess" -ForegroundColor White
}
Else
@ -283,7 +313,7 @@ If($envInfo)
$SelSub = $SelSubName.SubscriptionId
Select-AzureRmSubscription -Subscriptionid $SelSub | Out-Null
Write-Host "`tSuccess" -ForegroundColor Green
Write-Host "`tSuccess" -ForegroundColor White
}
Else
{
@ -303,7 +333,7 @@ If ((Test-Path -Path "$($AzSToolsPath)\Support\ERCS_Logs\ERCS_AzureStackLogs.ps1
Write-host "`n[INFO] Copying files to $($LocalPath)" -ForegroundColor Yellow
New-Item $LocalPath -Type directory -Force | out-null
Copy-Item -Path $AzSToolsPath -Destination $LocalPath -Recurse | out-null
Write-Host "`tSuccess" -ForegroundColor Green
Write-Host "`tTools are installed" -ForegroundColor Green
}
catch [System.Exception]
{
@ -475,9 +505,8 @@ If ((Test-Path -Path "$($Toolspath)\Support\ERCS_Logs\ERCS_AzureStackLogs.ps1")
return Get-Module
}
if($azsadmin)
{
#show Info made from the script
Write-host "`n[INFO] `$EnvInfo variable created" -ForegroundColor Yellow
Write-host "`tAvailable command: '`$EnvInfo' to view stamp endpoints`n"
@ -488,3 +517,4 @@ Write-host "`n[INFO] AzureStackAdmin AzureRmEnvironment created" -ForegroundColo
Write-host "`tRun 'Get-AzureRmEnvironment -Name AzureStackAdmin' to see environment "
Write-host "`n[INFO] AzureStackUser AzureRmEnvironment created" -ForegroundColor Yellow
Write-host "`tRun 'Get-AzureRmEnvironment -Name AzureStackUser' to see environment "
}

Просмотреть файл

@ -1,6 +1,6 @@
<#
.SYNOPSIS
Built to be run on the HLH or DVM from an administrative powershell session the script uses seven methods to find the privileged endpoint virtual machines. The script connects to selected privileged endpoint and runs Get-AzureStackLog with supplied parameters. If no parameters are supplied the script will default to prompting user via GUI for needed parameters.
Built to be run on the HLH, DVM, or Jumpbox from an administrative powershell session the script uses seven methods to find the privileged endpoint virtual machines. The script connects to selected privileged endpoint and runs Get-AzureStackLog with supplied parameters. If no parameters are supplied the script will default to prompting user via GUI for needed parameters.
.DESCRIPTION
The script will use one of the below seven methods; Gather requested logs, Transcript, and AzureStackStampInformation.json. The script will also save AzureStackStampInformation.json in %ProgramData% and in created log folder. AzureStackStampInformation.json in %ProgramData% allows future runs to have ERCS IP information populated at beginning of script.
@ -45,7 +45,7 @@
(Get-TimeZone -Name "US Eastern*").id
"Pacific Standard Time"
.PARAMETER IncompleteDeployment
Specifies if Azure Stack Deployment is incomplete (Only for use in ASDK or DVM)
Specifies if Azure Stack Deployment is incomplete. Only for use in Azure Stack Development Kit deployment or DVM
Yes
No
.EXAMPLE
@ -151,7 +151,7 @@ else
# ERCS_AzureStackLogs
#
# VERSION:
# 1.6.0
# 1.6.1
#------------------------------------------------------------------------------
"------------------------------------------------------------------------------ " | Write-Host -ForegroundColor Yellow
@ -171,7 +171,7 @@ else
" ERCS_AzureStackLogs.ps1 " | Write-Host -ForegroundColor Yellow
"" | Write-Host -ForegroundColor Yellow
" VERSION: " | Write-Host -ForegroundColor Yellow
" 1.6.0" | Write-Host -ForegroundColor Yellow
" 1.6.1" | Write-Host -ForegroundColor Yellow
"" | Write-Host -ForegroundColor Yellow
"------------------------------------------------------------------------------ " | Write-Host -ForegroundColor Yellow
"" | Write-Host -ForegroundColor Yellow
@ -268,7 +268,7 @@ If(!($IP))
{
If ((Test-Path -Path "$($Env:ProgramData)\AzureStackStampInformation.json") -eq $true)
{
Write-Host "`n `t[INFO] Load AzureStackStampInformation.json" -ForegroundColor Green
Write-Host "`n `t[INFO] Loaded AzureStackStampInformation.json from ProgramData" -ForegroundColor Green
$FoundJSONFile = Get-Content -Raw -Path "$($Env:ProgramData)\AzureStackStampInformation.json" | ConvertFrom-Json
[string]$FoundDomainFQDN = $FoundJSONFile.DomainFQDN
[array]$ERCSIPS = $FoundJSONFile.EmergencyConsoleIPAddresses
@ -276,6 +276,19 @@ If(!($IP))
$FoundSelERCSIP = $FoundJSONFile.EmergencyConsoleIPAddresses | Out-GridView -Title "Please Select Emergency Console IP Address" -PassThru
$IP = $FoundSelERCSIP
}
If ((Test-Path -Path "$($Env:ProgramData)\AzureStackStampInformation.json") -eq $false)
{
if ((Test-Path -Path "$($env:SystemDrive)\CloudDeployment\Logs\AzureStackStampInformation.json") -eq $true)
{
Write-Host "`n `t[INFO] Loaded AzureStackStampInformation.json from CloudDeployment" -ForegroundColor Green
$FoundJSONFile = Get-Content -Raw -Path "$($env:SystemDrive)\CloudDeployment\Logs\AzureStackStampInformation.json" | ConvertFrom-Json
[string]$FoundDomainFQDN = $FoundJSONFile.DomainFQDN
[array]$ERCSIPS = $FoundJSONFile.EmergencyConsoleIPAddresses
$StampTimeZone = $FoundJSONFile.Timezone
$FoundSelERCSIP = $FoundJSONFile.EmergencyConsoleIPAddresses | Out-GridView -Title "Please Select Emergency Console IP Address" -PassThru
$IP = $FoundSelERCSIP
}
}
}
#Sel AzureStackStampInformation
@ -1324,7 +1337,7 @@ if($IP)
#
#buttonselect
#
$buttonselect.Location = New-Object -TypeName System.Drawing.Point -ArgumentList @(12,258)
$buttonselect.Location = New-Object -TypeName System.Drawing.Point -ArgumentList @(12,262)
$buttonselect.Name = 'buttonselect'
$buttonselect.Size = New-Object -TypeName System.Drawing.Size -ArgumentList @(121,23)
$buttonselect.TabIndex = 1
@ -1334,7 +1347,7 @@ if($IP)
#
#buttondefault
#
$buttondefault.Location = New-Object -TypeName System.Drawing.Point -ArgumentList @(139,258)
$buttondefault.Location = New-Object -TypeName System.Drawing.Point -ArgumentList @(139,262)
$buttondefault.Name = 'buttondefault'
$buttondefault.Size = New-Object -TypeName System.Drawing.Size -ArgumentList @(133,23)
$buttondefault.TabIndex = 2
@ -1407,25 +1420,30 @@ if($IP)
}
If($IncompleteDeployment -eq "Yes")
{
cd "$($env:SystemDrive)\CloudDeployment\AzureStackDiagnostics"
$Folders=@()
$Folders += Get-ChildItem | Where {$_.attributes -eq 'directory'}
foreach ($Folder in $Folders)
$checkdiag = test-path -Path "$($env:SystemDrive)\CloudDeployment\AzureStackDiagnostics\Microsoft.AzureStack.Diagnostics.DataCollection\Microsoft.AzureStack.Diagnostics.DataCollection.psm1"
if($checkdiag -eq $true)
{
Import-Module "$($env:SystemDrive)\CloudDeployment\AzureStackDiagnostics\Microsoft.AzureStack.Diagnostics.DataCollection\Microsoft.AzureStack.Diagnostics.DataCollection.psm1" -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
$AzSDig = Get-Module -Name Microsoft.AzureStack.Diagnostics.DataCollection
}
if ($AzSDig.Name -eq "Microsoft.AzureStack.Diagnostics.DataCollection")
{
if (Get-ChildItem -Name $Folder -include *.psm1)
{
Import-Module $Folder\$(Get-ChildItem -Name $Folder -include *.psm1) -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
}
$incompletedeploymentdate = Get-Date -format MM-dd-hhmm
$incompletedeploymentfoldername = "-IncompleteDeployment_AzureStackLogs"
$incompletedeploymentsharename = $incompletedeploymentdate + $incompletedeploymentfoldername
If (!(Test-Path "$($Env:SystemDrive)\$($incompletedeploymentsharename)")) {$incompletedeploymentfolder = New-Item -Path "$($Env:SystemDrive)\$($incompletedeploymentsharename)" -ItemType directory}
Get-AzureStackLogs -OutputPath $incompletedeploymentfolder.FullName -FilterByRole $FilterByRole -FromDate $FromDate -ToDate $ToDate
}
Else
{
Write-Host "`n[Error] unable to load Microsoft.AzureStack.Diagnostics.DataCollection: $_" -ForegroundColor Red
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
exit
}
$incompletedeploymentdate = Get-Date -format MM-dd-hhmm
$incompletedeploymentfoldername = "-IncompleteDeployment_AzureStackLogs"
$incompletedeploymentsharename = $incompletedeploymentdate + $incompletedeploymentfoldername
If (!(Test-Path "$($Env:SystemDrive)\$($incompletedeploymentsharename)")) {$incompletedeploymentfolder = New-Item -Path "$($Env:SystemDrive)\$($incompletedeploymentsharename)" -ItemType directory}
Get-AzureStackLogs -OutputPath $incompletedeploymentfolder.FullName -FilterByRole $FilterByRole -FromDate $FromDate -ToDate $ToDate
#remotepowershell
$s = New-PSSession -ComputerName $IP -ConfigurationName PrivilegedEndpoint -Credential $mySecureCredentials
Try
{
Write-Host "`n `t[INFO] Getting Azure Stack stamp information" -ForegroundColor Green
Invoke-Command -Session $s -ScriptBlock {Get-AzureStackStampInformation -WarningAction SilentlyContinue} -OutVariable StampInformation -WarningAction SilentlyContinue | Out-Null
Invoke-Command -Session $s -ScriptBlock {Get-VirtualDisk -CimSession S-Cluster} -OutVariable ClusterDiskInformation -WarningAction SilentlyContinue | Out-Null
@ -1436,21 +1454,30 @@ if($IP)
Write-Host "`n `t[INFO] Saving AzureStackStampInformation to $($Env:SystemDrive)\$($incompletedeploymentsharename)" -ForegroundColor Green
$StampInformation | ConvertTo-Json | Out-File -FilePath "$($Env:SystemDrive)\$($incompletedeploymentsharename)\AzureStackStampInformation.json" -Force
$ClusterDiskInformation | Out-File -FilePath "$($Env:SystemDrive)\$($incompletedeploymentsharename)\ClusterVirtualDiskInfo.txt" -Force
}
catch
{
Write-Host "`n[Error] unable to connect to PEP: $_" -ForegroundColor Red
}
#zip files
try
{
Write-Host "`n`t[INFO] Compressing gathered files" -ForegroundColor Green
$zipdate = $incompletedeploymentdate
Compress-Archive -Path (Get-ChildItem -Path $Env:SystemDrive\$incompletedeploymentsharename).FullName -CompressionLevel Optimal -DestinationPath "$Env:SystemDrive\$incompletedeploymentsharename\$($zipdate)_AzureStackLogs_archive.zip" -Force
Write-Host "`tFile created: $Env:SystemDrive\$incompletedeploymentsharename\$($zipdate)_AzureStackLogs_archive.zip" -ForegroundColor White
Invoke-Item $incompletedeploymentfolder.FullName
Write-Host "`n `t[INFO] Opening $($incompletedeploymentfolder.FullName)" -ForegroundColor Green
}
catch
{
Write-Host "`n`t`t[WARN] Did not create a archive" -ForegroundColor Yellow
}
Write-Host "`n `tPress any key to continue ...`n"
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
{
Write-Host "`n`t[INFO] Compressing gathered files" -ForegroundColor Green
$zipdate = $incompletedeploymentdate
if((Test-Path -Path $Env:SystemDrive\CloudDeployment\Logs) -eq $true)
{Compress-Archive -Path (Get-ChildItem -Path $Env:SystemDrive\CloudDeployment\Logs).FullName -CompressionLevel Optimal -DestinationPath "$Env:SystemDrive\$incompletedeploymentsharename\$($zipdate)_CloudDeploymentLogs_archive.zip" -Force}
if((Test-Path -Path $Env:SystemDrive\MASLogs) -eq $true)
{Compress-Archive -Path (Get-ChildItem -Path $Env:SystemDrive\MASLogs).FullName -CompressionLevel Optimal -DestinationPath "$Env:SystemDrive\$incompletedeploymentsharename\$($zipdate)_MASLogs_archive.zip" -Force}
Compress-Archive -Path (Get-ChildItem -Path $Env:SystemDrive\$incompletedeploymentsharename).FullName -CompressionLevel Optimal -DestinationPath "$Env:SystemDrive\$incompletedeploymentsharename\$($zipdate)_AzureStackLogs_archive.zip" -Force
Write-Host "`tFile created: $Env:SystemDrive\$incompletedeploymentsharename\$($zipdate)_AzureStackLogs_archive.zip" -ForegroundColor White
Invoke-Item $incompletedeploymentfolder.FullName
Write-Host "`n `t[INFO] Opening $($incompletedeploymentfolder.FullName)" -ForegroundColor Green
}
catch
{
Write-Host "`n`t`t[WARN] Did not create a archive" -ForegroundColor Yellow
}
#cleanup
exit
}
#setting remotepowershell options
@ -1641,7 +1668,7 @@ if($IP)
{
Write-Host "`n`t[INFO] Compressing gathered files" -ForegroundColor Green
$zipdate = $date
Compress-Archive -Path (Get-ChildItem -Path $Env:SystemDrive\$sharename).FullName -CompressionLevel Optimal -DestinationPath "$Env:SystemDrive\$sharename\$($zipdate)_AzureStackLogs_archive.zip" -Force
Compress-Archive -Path (Get-ChildItem -Exclude Transcripts_* -Path $Env:SystemDrive\$sharename).FullName -CompressionLevel Optimal -DestinationPath "$Env:SystemDrive\$sharename\$($zipdate)_AzureStackLogs_archive.zip" -Force
Write-Host "`tFile created: $Env:SystemDrive\$sharename\$($zipdate)_AzureStackLogs_archive.zip" -ForegroundColor White
Invoke-Item $Files.Parent.FullName
Write-Host "`n `t[INFO] Opening $($Files.Parent.FullName)" -ForegroundColor Green