update
This commit is contained in:
+90
@@ -0,0 +1,90 @@
|
||||
Param(
|
||||
[string]
|
||||
$Ritm,
|
||||
|
||||
[string]
|
||||
$ComputerName
|
||||
)
|
||||
# $cat_item_sys_id = 'c64e27af47244610b7853238436d435d'
|
||||
New-ITDServiceNowSession -Environment Production -Credential $Secret:snow_vmcred
|
||||
|
||||
Write-Verbose -Message "Prep variable and SQL connection" -Verbose
|
||||
$ServerInstance = "itdintsql22p1.nd.gov\INTSQL22P1"
|
||||
$Database = "ITD-Systems-Automation"
|
||||
$Table = "ServiceNow_RitmDump_ServerBuildRequestV1"
|
||||
|
||||
$AllRitms = Get-ITDServiceNowRecord -ItemType 'Request Item' -Number $Ritm -IncludeCustomVariable -IncludeVariableSet
|
||||
|
||||
ForEach ($Ritm in $AllRitms) {
|
||||
Write-Verbose ("Start " + $Ritm.number) -Verbose
|
||||
# get all variable set rows
|
||||
$VariableSet = (Get-ITDServiceNowRecord -ItemType 'Request Item' -Number $Ritm.number.value -IncludeVariableSet).VariableSet
|
||||
ForEach ($VSet in $VariableSet) {
|
||||
Write-Verbose -Message ("Start " + $VSet.host_name + ' *** ' + $VSet.host_name_ref)
|
||||
# figure out values
|
||||
$RitmNum = $Ritm.number.value
|
||||
$RitmSysId = $Ritm.sys_id.value
|
||||
$opened_at = $Ritm.opened_at.display_value
|
||||
$requested_for = $Ritm.requested_for.display_value
|
||||
$request_type = $Ritm.CustomVariable.request_type.value
|
||||
$environment = $Ritm.CustomVariable.environment.value
|
||||
$host_name_ref = $VSet.host_name_ref
|
||||
$host_name = If ($VSet.host_name_ref) {
|
||||
(Get-ITDServiceNowRecord -Table cmdb_ci -SysId $VSet.host_name_ref).Name.display_value
|
||||
}
|
||||
Else {
|
||||
$VSet.host_name
|
||||
}
|
||||
$server_type = $VSet.server_type
|
||||
$operating_system = $VSet.operating_system
|
||||
$target_os_version_linux = $VSet.target_os_version_linux
|
||||
$target_os_version_windows = $VSet.target_os_version_windows
|
||||
$target_platform = $VSet.target_platform
|
||||
$processors = $VSet.processors
|
||||
$memory_gb = $VSet.memory_gb
|
||||
$cidr_block_sys_id = $VSet.cidr_block
|
||||
$cidr_block = (Get-ITDServiceNowRecord -Table 'cmdb_ci_ip_network' -SysId $cidr_block_sys_id).subnet.display_value
|
||||
$vlan_id = $VSet.vlan_id
|
||||
$data_center = $VSet.data_center
|
||||
$licensing_restrictions = $VSet.licensing_restrictions
|
||||
$application_info_sys_id = $VSet.application_info
|
||||
$application_info = (Get-ITDServiceNowRecord -Table 'cmdb_ci_service' -SysId $application_info_sys_id).name.display_value
|
||||
$support_hours = $VSet.support_hours
|
||||
$dr_protection = $VSet.dr_protection
|
||||
$startup_priority = $VSet.startup_priority
|
||||
$disk_1_os = $VSet.disk_1_os
|
||||
$disk_2_swap_disk = $VSet.disk_2_swap_disk
|
||||
$disk_3 = $VSet.disk_3
|
||||
$disk_4 = $VSet.disk_4
|
||||
$disk_5 = $VSet.disk_5
|
||||
$disk_6 = $VSet.disk_6
|
||||
$disk_7 = $VSet.disk_7
|
||||
$disk_8 = $VSet.disk_8
|
||||
$disk_9 = $VSet.disk_9
|
||||
$disk_10 = $VSet.disk_10
|
||||
$disk_11 = $VSet.disk_11
|
||||
$disk_12 = $VSet.disk_12
|
||||
$disk_13 = $VSet.disk_13
|
||||
$disk_14 = $VSet.disk_14
|
||||
$disk_15 = $VSet.disk_15
|
||||
$disk_16 = $VSet.disk_16
|
||||
$special_instructions = $Ritm.CustomVariable.special_instructions.value
|
||||
$customer_request = $Ritm.CustomVariable.customer_request.value
|
||||
$additional_comments = $Ritm.CustomVariable.additional_comments.value
|
||||
|
||||
If ($host_name -eq $ComputerName) {
|
||||
Write-Verbose -Message ("Add to SQL " + $VSet.host_name + ' *** ' + $VSet.host_name_ref)
|
||||
# add record to SQL
|
||||
$SqlQuery = "INSERT INTO [$Table] (
|
||||
RitmNum, RitmSysId, opened_at,requested_for,request_type,environment,host_name_ref,host_name,server_type,operating_system,target_os_version_linux,target_os_version_windows,target_platform,processors,memory_gb,cidr_block_sys_id,cidr_block,vlan_id,data_center,licensing_restrictions,application_info_sys_id,application_info,support_hours,dr_protection,startup_priority,disk_1_os,disk_2_swap_disk,disk_3,disk_4,disk_5,disk_6,disk_7,disk_8,disk_9,disk_10,disk_11,disk_12,disk_13,disk_14,disk_15,disk_16,special_instructions,customer_request,additional_comments) Values (
|
||||
'$RitmNum','$RitmSysId','$opened_at','$requested_for','$request_type','$environment','$host_name_ref','$host_name','$server_type','$operating_system','$target_os_version_linux','$target_os_version_windows','$target_platform','$processors','$memory_gb','$cidr_block_sys_id','$cidr_block','$vlan_id','$data_center','$licensing_restrictions','$application_info_sys_id','$application_info','$support_hours','$dr_protection','$startup_priority','$disk_1_os','$disk_2_swap_disk','$disk_3','$disk_4','$disk_5','$disk_6','$disk_7','$disk_8','$disk_9','$disk_10','$disk_11','$disk_12','$disk_13','$disk_14','$disk_15','$disk_16','$special_instructions','$customer_request','$additional_comments'
|
||||
)
|
||||
"
|
||||
|
||||
Invoke-Sqlcmd -ServerInstance $ServerInstance -Database $Database -Query $SqlQuery -Credential $Secret:sql_itdpsu1 -Verbose
|
||||
Write-Verbose -Message $SqlQuery -Verbose
|
||||
}
|
||||
Write-Verbose -Message ("End " + $VSet.host_name + ' *** ' + $VSet.host_name_ref)
|
||||
}
|
||||
Write-Verbose ("End " + $Ritm.number) -Verbose
|
||||
}
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
Param(
|
||||
[string]
|
||||
$SCTaskNum
|
||||
)
|
||||
|
||||
New-ServiceNowSession -Url 'northdakota.service-now.com' -Credential $Secret:SNowVMCred
|
||||
Connect-ITDvCenter -Credential $Secret:svcitdvmvcauto
|
||||
|
||||
$Filter = @('assignment_group', '-like', 'NDIT-Server Build Automation'), '-and', @('short_description', '-like', 'Windows Guest OS complete. Hardware team review.'), '-and', @('state', '-eq', '2') # 2 = 'work in progress'
|
||||
$OpenTasks = Get-ServiceNowRecord -Table 'Catalog Task' -Filter $Filter | Sort-Object Number
|
||||
If ($PSBoundParameters.ContainsKey("SCTaskNum")) {
|
||||
Write-Verbose -Message "SCTaskNum parameter found, value is $SCTaskNum"
|
||||
$OpenTasks = $OpenTasks | Where-Object Number -EQ $SCTaskNum
|
||||
}
|
||||
|
||||
Write-Verbose -Message ("OpenTasks found: " + $OpenTasks.count) -Verbose
|
||||
ForEach ($OpenTask in $OpenTasks) {
|
||||
Write-Verbose -Message $OpenTasks.Number -Verbose
|
||||
}
|
||||
|
||||
ForEach ($OpenTask in $OpenTasks) {
|
||||
$Ci = $null
|
||||
$BuildComplete = $null
|
||||
|
||||
# get SCTask, Ritm
|
||||
$SCTaskNum = $OpenTask.number
|
||||
Write-Verbose -Message "Start $SCTasknum" -Verbose
|
||||
$SCTask = Get-ServiceNowRecord -Table 'Catalog Task' -ID $SCTaskNum
|
||||
$shortdescription = $SCTask.short_description
|
||||
$RitmNum = $SCTask.request_item.display_value
|
||||
$Ritm = Get-ServiceNowRecord -Table 'Requested Item' -ID $RitmNum -IncludeCustomVariable -WarningAction SilentlyContinue
|
||||
|
||||
switch (($Ritm.CustomVariable | Where-Object Name -EQ target_platform).Value) {
|
||||
'azure' { $target_platform = "Azure" }
|
||||
'vmware' { $target_platform = "VMware" }
|
||||
}
|
||||
|
||||
$FormFQDN = ($RITM.CustomVariable | Where-Object Name -EQ "host_name").value
|
||||
$FormHostName = $FormFQDN.split('.')[0]
|
||||
|
||||
$Ci = Get-ServiceNowRecord -Table cmdb_ci -Filter @('name', '-eq', $FormHostName)
|
||||
|
||||
If ($Ci) {
|
||||
Write-Verbose -Message ("Ci found, sys_id = " + $Ci.sys_id + ", name = " + $Ci.name + ", fqdn = " + $Ci.fqdn) -Verbose
|
||||
}
|
||||
switch ($target_platform) {
|
||||
{ $_ -like "*VMware*" } {
|
||||
Connect-ITDvCenter -Credential $Secret:svcitdvmvcauto
|
||||
Write-Verbose -Message ("$FormFQDN is a VMware VM. Determine if SRM was requested.") -Verbose
|
||||
$hardware_platform = "VMware";
|
||||
$hardware_type = 'Virtual Machine'
|
||||
|
||||
If ( ($Ritm.CustomVariable | Where-Object Name -EQ 'dr_protection').Value -eq 'No DR') {
|
||||
Write-Verbose -Message ("$FormFQDN dr_protection equals 'No DR'") -Verbose
|
||||
Approve-ITDVMNewBuild -SCTaskNum $SCTaskNum -CloseTask -Verbose
|
||||
}
|
||||
Else {
|
||||
Write-Verbose -Message ("$FormFQDN dr_protection is requested") -Verbose
|
||||
Write-Warning -Message ("SRM is requested, task will not auto close. -- ZM") -Verbose
|
||||
Approve-ITDVMNewBuild -SCTaskNum $SCTaskNum
|
||||
}
|
||||
Disconnect-ITDvCenter
|
||||
}
|
||||
{ $_ -like "*Microsoft Virtual Machine*" } {
|
||||
Write-Verbose -Message ("$FormFQDN is an Azure VM. DR is not an option, proceed.") -Verbose
|
||||
$hardware_platform = "Azure";
|
||||
$hardware_type = 'Virtual Machine'
|
||||
Write-Warning -Message ("Final close task is commented out until testing can occur. -- ZM") -Verbose
|
||||
#Approve-ITDVMNewBuild -SCTaskNum $SCTaskNum
|
||||
}
|
||||
{ $_ -like "*HP*" } {
|
||||
Write-Verbose -Message ("$FormFQDN is an HPE device.") -Verbose
|
||||
$hardware_platform = 'HPE';
|
||||
$hardware_type = 'Physical'
|
||||
Write-Warning -Message ("Final close task is commented out until testing can occur. -- ZM") -Verbose
|
||||
}
|
||||
default {
|
||||
$hardware_platform = 'Other'
|
||||
Write-Warning -Message ("Ci found, but unavailable to determine hardware platform.")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Disconnect-ITDvCenter
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
Param(
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'VMName')]
|
||||
[string[]]
|
||||
$VMName,
|
||||
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'NewBuilds')]
|
||||
[switch]
|
||||
$NewBuilds,
|
||||
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'All')]
|
||||
[switch]
|
||||
$All
|
||||
)
|
||||
|
||||
Write-Verbose -Message "Connect to vCenter" -Verbose
|
||||
Connect-ITDvCenter -Credential $Secret:ndgov_svcitdvmvcauto
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName) {
|
||||
'VMName' {
|
||||
Write-Verbose -Message "Parameter Set VMName" -Verbose
|
||||
$VMs = Get-VM -Name $VMName
|
||||
}
|
||||
'NewBuilds' {
|
||||
Write-Verbose -Message "Parameter Set NewBuilds" -Verbose
|
||||
$VMs = Get-Folder -Name "_New Builds" | Get-VM
|
||||
}
|
||||
'All' {
|
||||
Write-Verbose -Message "Parameter Set All" -Verbose
|
||||
$VMs = Get-VM | Where-Object CreateDate -lt ((Get-Date).AddDays(-2))
|
||||
}
|
||||
}
|
||||
|
||||
ForEach($VM in $VMs){
|
||||
try{
|
||||
Write-Verbose -Message ("Start " + $VM.Name) -Verbose
|
||||
Get-VM -Name $VM.Name | Select Uid
|
||||
Move-ITDVMwareVMToAppNameFolder -VMName $VM.Name -ErrorAction Stop -Verbose
|
||||
}
|
||||
catch {
|
||||
$error[0]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Write-Verbose -Message "Disconnect from vCenter" -Verbose
|
||||
Disconnect-ITDvCenter
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
Param (
|
||||
[string]
|
||||
$Fqdn,
|
||||
|
||||
[string]
|
||||
$RitmNum
|
||||
)
|
||||
|
||||
New-ITDServiceNowSession -Environment Production -Credential $Secret:snow_vmcred
|
||||
|
||||
$Ritm = Get-ITDServiceNowRecord -ItemType 'Request Item' -Number $RitmNum -IncludeVariableSet -IncludeCustomVariable
|
||||
$Row = $Ritm.VariableSet | Where-Object host_name -eq $Fqdn
|
||||
|
||||
$NewITDVMwareSharePointVMRecordParams = @{
|
||||
HostName = $Fqdn;
|
||||
LicensingRestrictions = $Row.licensing_restrictions;
|
||||
DataCenter = $Row.data_center;
|
||||
Environment = $Ritm.CustomVariable.environment.value;
|
||||
StartupPriority = $Row.startup_priority;
|
||||
OperatingSystem = $Row.operating_system;
|
||||
DR_Protection = $Row.dr_protection;
|
||||
CPU = $Row.processors;
|
||||
MemoryGB = $Row.memory_gb;
|
||||
Disk1 = $Row.disk_1_os;
|
||||
Disk2 = $Row.disk_2_swap_disk;
|
||||
Disk3 = $Row.disk_3;
|
||||
}
|
||||
New-ITDVMwareSharePointVMRecord @NewITDVMwareSharePointVMRecordParams
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
Param(
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'VMName')]
|
||||
[string[]]
|
||||
$VMName,
|
||||
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'NewBuilds')]
|
||||
[switch]
|
||||
$NewBuilds,
|
||||
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'All')]
|
||||
[switch]
|
||||
$All
|
||||
)
|
||||
|
||||
Write-Verbose -Message "Connect to ServiceNow" -Verbose
|
||||
New-ITDServiceNowSession -Environment Production -Credential $Secret:snow_vmcred
|
||||
|
||||
Write-Verbose -Message "Connect to vCenter" -Verbose
|
||||
Connect-ITDvCenter -Credential $Secret:ndgov_svcitdvmvcauto
|
||||
|
||||
<#switch ($PSBoundParameters.ContainsKey('VMName')) {
|
||||
$true {
|
||||
$VMs = Get-VM -Name $VMName
|
||||
}
|
||||
$false {
|
||||
Write-Verbose -Message "VMName parameter not provided, working on new builds only" -Verbose
|
||||
$VMs = Get-Folder -Name "_New Builds" | Get-VM | Where-Object { $_.ExtensionData.summary.config.ManagedBy.Type -ne "placeholderVm" }
|
||||
}
|
||||
}#>
|
||||
|
||||
switch ($PSCmdlet.ParameterSetName) {
|
||||
'VMName' {
|
||||
Write-Verbose -Message "Parameter Set VMName" -Verbose
|
||||
$VMs = Get-VM -Name $VMName
|
||||
}
|
||||
'NewBuilds' {
|
||||
Write-Verbose -Message "Parameter Set NewBuilds" -Verbose
|
||||
$VMs = Get-Folder -Name "_New Builds" | Get-VM
|
||||
}
|
||||
'All' {
|
||||
Write-Verbose -Message "Parameter Set All" -Verbose
|
||||
$VMs = Get-VM
|
||||
}
|
||||
}
|
||||
|
||||
ForEach($VM in $VMs){
|
||||
try{
|
||||
Write-Verbose -Message ("Start " + $VM.Name) -Verbose
|
||||
Set-ITDVMwareVMTagFromCmdb -VMName $VM.Name -ErrorAction Stop -Verbose
|
||||
}
|
||||
catch {
|
||||
$error[0]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Write-Verbose -Message "Disconnect from vCenter" -Verbose
|
||||
Disconnect-ITDvCenter
|
||||
+158
@@ -0,0 +1,158 @@
|
||||
# loop through them, create sql record
|
||||
|
||||
# $cat_item_sys_id = 'c64e27af47244610b7853238436d435d'
|
||||
New-ITDServiceNowSession -Environment Production -Credential $Secret:snow_vmcred
|
||||
|
||||
Write-Verbose -Message "Prep variable and SQL connection" -Verbose
|
||||
$ServerInstance = "itdintsql22p1.nd.gov\INTSQL22P1"
|
||||
$Database = "ITD-Systems-Automation"
|
||||
$Table = "ServiceNow_RitmDump_ServerBuildRequestV1"
|
||||
|
||||
# get most recent RITM from SQL, get the opened_at value
|
||||
$SqlQuery = "SELECT [RitmNum],[RitmSysId],[opened_at] FROM [$Database].[dbo].[$Table]"
|
||||
$SqlExistingRecords = Invoke-Sqlcmd -ServerInstance $ServerInstance -Database $Database -Query $SqlQuery -Credential $Secret:sql_itdpsu1 -Verbose
|
||||
|
||||
$NewestRecord = ($SqlExistingRecords | Sort-Object -Descending opened_at) | select -First 1
|
||||
$DateYMDFilter = ($NewestRecord.opened_at | Get-Date -UFormat "%Y-%m-%d")
|
||||
$DateHMSFilter = ($NewestRecord.opened_at | Get-Date -UFormat "%H:%M:%S")
|
||||
|
||||
#$Filter = "cat_item=c64e27af47244610b7853238436d435d^opened_at>javascript:gs.dateGenerate('2024-07-30','23:59:59')"
|
||||
|
||||
#$Filter = "cat_item=c64e27af47244610b7853238436d435d"
|
||||
$Filter = "cat_item=c64e27af47244610b7853238436d435d^opened_at>javascript:gs.dateGenerate('$DateYMDFilter','$DateHMSFilter')"
|
||||
Write-Verbose -Message ("Filter is " + $Filter) -Verbose
|
||||
|
||||
# retrieve list of RITMs created since $opened_at (>opened_at)
|
||||
Write-Verbose -Message "Retrieve list of RITMs created since last update" -Verbose
|
||||
#$AllRitms = Get-ITDServiceNowRecord -ItemType 'Request Item' -Filter $Filter -IncludeTotalCount -IncludeCustomVariable | Sort-Object Number
|
||||
$AllRitms = Get-ITDServiceNowRecord -ItemType 'Request Item' -Filter $Filter -IncludeTotalCount -IncludeCustomVariable | Sort-Object Number
|
||||
#$AllRitms = Get-ITDServiceNowRecord -ItemType 'Request Item' -Number 'RITM0262097' -IncludeCustomVariable
|
||||
Write-Verbose -Message ("RITMs found: " + @($AllRitms).count) -Verbose
|
||||
|
||||
|
||||
ForEach ($Ritm in $AllRitms) {
|
||||
Write-Verbose ("Start " + $Ritm.number) -Verbose
|
||||
# get all variable set rows
|
||||
$VariableSet = (Get-ITDServiceNowRecord -ItemType 'Request Item' -Number $Ritm.number.value -IncludeVariableSet).VariableSet
|
||||
ForEach ($VSet in $VariableSet) {
|
||||
Write-Verbose -Message ("Start " + $VSet.host_name + ' *** ' + $VSet.host_name_ref)
|
||||
# figure out values
|
||||
$RitmNum = $Ritm.number.value
|
||||
$RitmSysId = $Ritm.sys_id.value
|
||||
$opened_at = $Ritm.opened_at.display_value
|
||||
$requested_for = $Ritm.requested_for.display_value
|
||||
$request_type = $Ritm.CustomVariable.request_type.value
|
||||
$environment = $Ritm.CustomVariable.environment.value
|
||||
$host_name_ref = $VSet.host_name_ref
|
||||
$host_name = If ($VSet.host_name_ref) {
|
||||
(Get-ITDServiceNowRecord -Table cmdb_ci -SysId $VSet.host_name_ref).Name.display_value
|
||||
}
|
||||
Else {
|
||||
$VSet.host_name
|
||||
}
|
||||
$server_type = $VSet.server_type
|
||||
$operating_system = $VSet.operating_system
|
||||
$target_os_version_linux = $VSet.target_os_version_linux
|
||||
$target_os_version_windows = $VSet.target_os_version_windows
|
||||
$target_platform = $VSet.target_platform
|
||||
$processors = $VSet.processors
|
||||
$memory_gb = $VSet.memory_gb
|
||||
$cidr_block_sys_id = $VSet.cidr_block
|
||||
$cidr_block = (Get-ITDServiceNowRecord -Table 'cmdb_ci_ip_network' -SysId $cidr_block_sys_id).subnet.display_value
|
||||
$vlan_id = $VSet.vlan_id
|
||||
$data_center = $VSet.data_center
|
||||
$licensing_restrictions = $VSet.licensing_restrictions
|
||||
$application_info_sys_id = $VSet.application_info
|
||||
$application_info = (Get-ITDServiceNowRecord -Table 'cmdb_ci_service' -SysId $application_info_sys_id).name.display_value
|
||||
$support_hours = $VSet.support_hours
|
||||
$dr_protection = $VSet.dr_protection
|
||||
$startup_priority = $VSet.startup_priority
|
||||
$disk_1_os = $VSet.disk_1_os
|
||||
$disk_2_swap_disk = $VSet.disk_2_swap_disk
|
||||
$disk_3 = $VSet.disk_3
|
||||
$disk_4 = $VSet.disk_4
|
||||
$disk_5 = $VSet.disk_5
|
||||
$disk_6 = $VSet.disk_6
|
||||
$disk_7 = $VSet.disk_7
|
||||
$disk_8 = $VSet.disk_8
|
||||
$disk_9 = $VSet.disk_9
|
||||
$disk_10 = $VSet.disk_10
|
||||
$disk_11 = $VSet.disk_11
|
||||
$disk_12 = $VSet.disk_12
|
||||
$disk_13 = $VSet.disk_13
|
||||
$disk_14 = $VSet.disk_14
|
||||
$disk_15 = $VSet.disk_15
|
||||
$disk_16 = $VSet.disk_16
|
||||
$special_instructions = $Ritm.CustomVariable.special_instructions.value
|
||||
$customer_request = $Ritm.CustomVariable.customer_request.value
|
||||
$additional_comments = $Ritm.CustomVariable.additional_comments.value
|
||||
|
||||
Write-Verbose -Message ("Add to SQL " + $VSet.host_name + ' *** ' + $VSet.host_name_ref)
|
||||
# add record to SQL
|
||||
$SqlQuery = "INSERT INTO [$Table] (
|
||||
RitmNum, RitmSysId, opened_at,requested_for,request_type,environment,host_name_ref,host_name,server_type,operating_system,target_os_version_linux,target_os_version_windows,target_platform,processors,memory_gb,cidr_block_sys_id,cidr_block,vlan_id,data_center,licensing_restrictions,application_info_sys_id,application_info,support_hours,dr_protection,startup_priority,disk_1_os,disk_2_swap_disk,disk_3,disk_4,disk_5,disk_6,disk_7,disk_8,disk_9,disk_10,disk_11,disk_12,disk_13,disk_14,disk_15,disk_16,special_instructions,customer_request,additional_comments) Values (
|
||||
'$RitmNum','$RitmSysId','$opened_at','$requested_for','$request_type','$environment','$host_name_ref','$host_name','$server_type','$operating_system','$target_os_version_linux','$target_os_version_windows','$target_platform','$processors','$memory_gb','$cidr_block_sys_id','$cidr_block','$vlan_id','$data_center','$licensing_restrictions','$application_info_sys_id','$application_info','$support_hours','$dr_protection','$startup_priority','$disk_1_os','$disk_2_swap_disk','$disk_3','$disk_4','$disk_5','$disk_6','$disk_7','$disk_8','$disk_9','$disk_10','$disk_11','$disk_12','$disk_13','$disk_14','$disk_15','$disk_16','$special_instructions','$customer_request','$additional_comments'
|
||||
)
|
||||
"
|
||||
|
||||
Invoke-Sqlcmd -ServerInstance $ServerInstance -Database $Database -Query $SqlQuery -Credential $Secret:sql_itdpsu1 -Verbose
|
||||
Write-Verbose -Message ("End " + $VSet.host_name + ' *** ' + $VSet.host_name_ref)
|
||||
}
|
||||
Write-Verbose ("End " + $Ritm.number) -Verbose
|
||||
}
|
||||
|
||||
<# scratch
|
||||
Write-Verbose -Message ("Add record to SQL") -Verbose
|
||||
$SqlQuery = "INSERT INTO [$SnapshotTable] (VMName, DateTime, RequestedBy, DurationHours,Status,ExpireDateTime,NotifyEmail,PSUJobIdRequest) Values ('$Name', '$StartDateTimeSql', '$RequestedBy', $DurationHours, 'Requested', '$EndDateTimeSql','$Email','$PSUJobId');SELECT SCOPE_IDENTITY();"
|
||||
#Write-Verbose -Message $SqlQuery -Verbose
|
||||
$SnapshotId = (Invoke-Sqlcmd -ServerInstance $ServerInstance -Database $Database -Query $SqlQuery -Credential $Secret:itdpsu1 -Verbose).Column1
|
||||
|
||||
|
||||
|
||||
|
||||
select TOP (1000) [RitmNum]
|
||||
, [RitmSysId]
|
||||
, [opened_at]
|
||||
, [requested_for]
|
||||
, [request_type]
|
||||
, [environment]
|
||||
, [host_name_ref]
|
||||
, [host_name]
|
||||
, [server_type]
|
||||
, [operating_system]
|
||||
, [target_os_version_linux]
|
||||
, [target_os_version_windows]
|
||||
, [target_platform]
|
||||
, [processors]
|
||||
, [memory_gb]
|
||||
, [cidr_block_sys_id]
|
||||
, [cidr_block]
|
||||
, [vlan_id]
|
||||
, [data_center]
|
||||
, [licensing_restrictions]
|
||||
, [application_info_sys_id]
|
||||
, [application_info]
|
||||
, [support_hours]
|
||||
, [dr_protection]
|
||||
, [startup_priority]
|
||||
, [disk_1_os]
|
||||
, [disk_2_swap_disk]
|
||||
, [disk_3]
|
||||
, [disk_4]
|
||||
, [disk_5]
|
||||
, [disk_6]
|
||||
, [disk_7]
|
||||
, [disk_8]
|
||||
, [disk_9]
|
||||
, [disk_10]
|
||||
, [disk_11]
|
||||
, [disk_12]
|
||||
, [disk_13]
|
||||
, [disk_14]
|
||||
, [disk_15]
|
||||
, [disk_16]
|
||||
, [special_instructions]
|
||||
, [customer_request]
|
||||
, [additional_comments]
|
||||
FROM [ITD-Systems-Automation].[dbo].[ServiceNow_RitmDump_ServerBuildRequestV1]
|
||||
#>
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
Param(
|
||||
[string]
|
||||
$VMName,
|
||||
|
||||
[switch]
|
||||
$SRMImplemented
|
||||
)
|
||||
|
||||
Write-Verbose "Connect to vCenter" -Verbose
|
||||
Connect-ITDvCenter -Credential $Secret:ndgov_svcitdvmvcro
|
||||
Write-Verbose "Start Sync" -Verbose
|
||||
|
||||
switch ($PSBoundParameters.Keys){
|
||||
'VMName' { $SyncITDVMwareVMMetadataToSharePointParams += @{VMName = $VMName} }
|
||||
'SRMImplemented' { $SyncITDVMwareVMMetadataToSharePointParams += @{SRMImplemented = $SRMImplemented} }
|
||||
}
|
||||
|
||||
Write-Host $SyncITDVMwareVMMetadataToSharePointParams
|
||||
|
||||
Sync-ITDVMwareVMMetadataToSharePoint @SyncITDVMwareVMMetadataToSharePointParams -Verbose
|
||||
#Write-Output $VMName
|
||||
Write-Verbose "End Sync"
|
||||
|
||||
Write-Verbose "Disconnect vCenter"
|
||||
Disconnect-ITDvCenter
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
Param(
|
||||
[string]
|
||||
$VMName
|
||||
)
|
||||
|
||||
Write-Verbose "Connect to vCenter" -Verbose
|
||||
Connect-ITDvCenter -Credential $Secret:ndgov_svcitdvmvcro
|
||||
|
||||
Write-Verbose "Start Sync" -Verbose
|
||||
Sync-ITDVMwareVMMetadataToSharePoint -VMName $VMName
|
||||
#Write-Output $VMName
|
||||
Write-Verbose "End Sync"
|
||||
|
||||
Write-Verbose "Disconnect vCenter"
|
||||
Disconnect-ITDvCenter
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
Write-Verbose -Message "Connect to ServiceNow" -Verbose
|
||||
New-ITDServiceNowSession -Environment Production -Credential $Secret:snow_vmcred
|
||||
|
||||
Write-Verbose -Message "Connect to vCenter" -Verbose
|
||||
Connect-ITDvCenter -Credential $Secret:ndgov_svcitdvmvcauto
|
||||
|
||||
Write-Verbose -Message "Execute Sync-ITDVMareVMTagsFromCmdb" -Verbose
|
||||
Sync-ITDVMwareVMTagsFromCmdb -Verbose
|
||||
|
||||
Disconnect-ITDvCenter
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
New-ITDServiceNowSession -Environment Production -Credential $Secret:SNowVMCred
|
||||
Update-ITDSNowVMTaskDescription -Verbose
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
New-ITDServiceNowSession -Environment Production -Credential $Secret:snow_vmcred
|
||||
Update-ITDSNowVMTaskDescription -Verbose
|
||||
Reference in New Issue
Block a user