Set-ChronicleGlobalValues.ps1

function Set-ChronicleGlobalValues
{
  . $PSScriptRoot\Confirm-UserPath.ps1
  if (![Environment]::Is64BitProcess)
  {
    $ChronDocumentsRegKey = 'hklm:\software\chronicle\Documents\'
    $ChronBackupRegKey = 'hklm:\software\chronicle\chronbackup\'
    $ChronCustomerDataRegKey = 'hklm:\software\chronicle\CustomerData\'
    $ChronChronicleMonitorRegKey = 'hklm:\software\chronicle\ChronicleMonitor\'
    $ChronSystemRegKey = 'hklm:\software\chronicle\system\'
    $ChronRegKey = 'hklm:\software\chronicle\'
    $ChronDocGenRegKey = 'hklm:\software\chronicle\docgen\'
    $ChronDatabasesRegKey = 'hklm:\software\chronicle\databases\'
  }
  else
  {
    $ChronDocumentsRegKey = 'hklm:\software\wow6432node\chronicle\Documents\'
    $ChronBackupRegKey = 'hklm:\software\wow6432node\chronicle\chronbackup\'
    $ChronCustomerDataRegKey = 'hklm:\software\wow6432node\chronicle\CustomerData\'
    $ChronChronicleMonitorRegKey = 'hklm:\software\wow6432node\chronicle\ChronicleMonitor\'
    $ChronSystemRegKey = 'hklm:\software\wow6432node\chronicle\system\'
    $ChronRegKey = 'hklm:\software\wow6432node\chronicle\'
    $ChronDocGenRegKey = 'hklm:\software\wow6432node\chronicle\docgen\'
    $ChronDatabasesRegKey = 'hklm:\software\wow6432node\chronicle\databases\'
  }
  #variables
  $databaseregistryvalue =  'primary'
  $databaseregistryvalue2 = 'secondary'
  $databaseregistryvalue3 = 'backupdirectory'
  
  if (Test-RegistryValue -key $ChronDatabasesRegKey -value $databaseregistryvalue)
  {
      $global:ChronDBPrimary = Get-RegistryValue -key $ChronDatabasesRegKey -value $databaseregistryvalue
  }
  else
  {
      Write-Verbose -Message ('There is currently no primary database path defined. Please define a path. The path should be like e.g. C:\Chronicle\Data\Chron.cti.')
      $global:ChronDBPrimary = Read-Host
      $global:ChronDBPrimary = Validate-UserPath -UserDirectory $global:ChronDBPrimary
      New-RegistryValue -key $ChronDatabasesRegKey -value $databaseregistryvalue -data $global:ChronDBPrimary
  }
  if (Test-RegistryValue -key $ChronDatabasesRegKey -value $databaseregistryvalue2)
  {
      $global:ChronDBSecondary = Get-RegistryValue -key $ChronDatabasesRegKey -value $databaseregistryvalue2
  }
  else
  {
      Write-Verbose -Message ('There is currently no primary database path defined. Please define a path. The path should be like e.g. C:\Chronicle\Data2\Chron.cti.')
      $global:ChronDBSecondary = Read-Host
      $global:ChronDBSecondary = Validate-UserPath -UserDirectory $global:ChronDBSecondary
      New-RegistryValue -key $ChronDatabasesRegKey -value $databaseregistryvalue2 -data $global:ChronDBSecondary
  }
  if (!$global:ChronicleBaseDir)
  {
      $path = Get-JustDBFilePath -DatabasePath $global:ChronDBPrimary
      $global:ChronicleBaseDir = $path | split-path -parent | split-path -parent
  }
  if (Test-RegistryValue -key $ChronDatabasesRegKey -value $databaseregistryvalue3)
  {
      $global:ChronBackupFolder = Get-RegistryValue -key $ChronDatabasesRegKey -value $databaseregistryvalue3
  }
  else
  {
      Write-Verbose -Message ('There is currently no backup path defined. Please define a path. The path should be like e.g. C:\cBackup.')
      $global:ChronBackupFolder = Read-Host
      $global:ChronBackupFolder = Validate-UserPath -UserDirectory $global:ChronBackupFolder
      New-RegistryValue -key $ChronDatabasesRegKey -value $databaseregistryvalue3 -data $global:ChronBackupFolder
  }
  #Default to the Backup location
  if (!$global:ScriptName)
  {
    $global:ScriptName = 'NoScriptDefined'
  }
  if (!$global:UniqueLogValue)
  {
    $global:UniqueLogValue = '-{0}-{1}' -f ((Get-Date).Month,(Get-Date).Day)
  }
  if (!$global:ChronLogFolder)
  {
    $global:ChronLogFolder = $global:ChronBackupFolder
  }
  if (!$global:ScriptLogFilename)
  {
    $global:ScriptLogFilename = '{0}{1}.txt' -f ($global:ScriptName, $global:UniqueLogValue)
  }
  #Default script logging location
  if (!$global:ScriptLogPath)
  {
    $global:ScriptLogPath = Join-Path -Path $global:ChronLogFolder -ChildPath $ScriptLogFilename
  }
}
# SIG # Begin signature block
# MIINIQYJKoZIhvcNAQcCoIINEjCCDQ4CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU23OTEPyuRkYn8gZBimhYc2sa
# /6OgggpWMIIE9TCCA92gAwIBAgIQDds7KUp1C2lNg1S+Cw9FaDANBgkqhkiG9w0B
# AQsFADB/MQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRp
# b24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMDAuBgNVBAMTJ1N5
# bWFudGVjIENsYXNzIDMgU0hBMjU2IENvZGUgU2lnbmluZyBDQTAeFw0xNTEyMDIw
# MDAwMDBaFw0xODAxMzAyMzU5NTlaMIGHMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
# Q2FsaWZvcm5pYTESMBAGA1UEBxMJUml2ZXJzaWRlMRcwFQYDVQQKFA5DaHJvbnRl
# Y2ggSW5jLjEdMBsGA1UECxQUU29mdHdhcmUgRGV2ZWxvcG1lbnQxFzAVBgNVBAMU
# DkNocm9udGVjaCBJbmMuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
# pukh0glcvSNZ3FVOdbx60qhY1kNa89fdPNEBhQ/BOvYQN+FcwEoWoDp4HmclDUtT
# pncKvsXZySbPMtZQOUGpI2D1lRnCQQCTWqJQ2UWBDJKfhk3O/46AI8SjwC0H60DJ
# SA7I1K9oVpyGp595iQ66hsnaLUmNq4/CtLrUeyhBALtlbwrWJJgnTizJT9+N8FWR
# r3aqTW1rjpN6ydDI5WopzrcJQDY3OX7Gkn5bud1QbY5mERoQ6t5JHun1u2MbkXBu
# R5G24JMcXkdJrTQoKHolWXknU8yjnglqtZ+WcdVnUmoOs301dASJ2Ij384HoZe7P
# E6CoPoWKxs93w7NEFP8PzQIDAQABo4IBYjCCAV4wCQYDVR0TBAIwADAOBgNVHQ8B
# Af8EBAMCB4AwKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3N2LnN5bWNiLmNvbS9z
# di5jcmwwZgYDVR0gBF8wXTBbBgtghkgBhvhFAQcXAzBMMCMGCCsGAQUFBwIBFhdo
# dHRwczovL2Quc3ltY2IuY29tL2NwczAlBggrBgEFBQcCAjAZDBdodHRwczovL2Qu
# c3ltY2IuY29tL3JwYTATBgNVHSUEDDAKBggrBgEFBQcDAzBXBggrBgEFBQcBAQRL
# MEkwHwYIKwYBBQUHMAGGE2h0dHA6Ly9zdi5zeW1jZC5jb20wJgYIKwYBBQUHMAKG
# Gmh0dHA6Ly9zdi5zeW1jYi5jb20vc3YuY3J0MB8GA1UdIwQYMBaAFJY7U/B5M5ev
# fYPvLivMyreGHnJmMB0GA1UdDgQWBBQjUbqnPTPQ1a1EWJmpTZfzT/yEETANBgkq
# hkiG9w0BAQsFAAOCAQEAjY6yJ1LtbzLiESH9MAQC/7EtLpayedozPxvy80psOmo8
# IVl3CC1L0AQH0Fa7qSNL313kTBzC9i/488XZz6cg4x1Ek94D82E9UL2e/Ur0CHeO
# c9znbS9oKK6FoYjy/JFmr3UUI6LmVwJ1IK95MlRtHhf3e19rVdQDlA33z6Nk33hy
# CU6kgrgxSmNKwsjY/YW1WPZpBXELK8aIxRyTepVYTQetCoLyDhTd8MuZYUzFIDCg
# FTInQKHPf8JNMND/iItFadGbkUelmM1j1Q/x1n3it1245A/J3K4UzfE2Xslv41JU
# l3dg6leOodoKUfwWzYm+H+Sx/rezb6IdgN7LpM0tBDCCBVkwggRBoAMCAQICED14
# 1/l2SWCyYX308B7KhiowDQYJKoZIhvcNAQELBQAwgcoxCzAJBgNVBAYTAlVTMRcw
# FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3Qg
# TmV0d29yazE6MDgGA1UECxMxKGMpIDIwMDYgVmVyaVNpZ24sIEluYy4gLSBGb3Ig
# YXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMyBQ
# dWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc1MB4XDTEz
# MTIxMDAwMDAwMFoXDTIzMTIwOTIzNTk1OVowfzELMAkGA1UEBhMCVVMxHTAbBgNV
# BAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVz
# dCBOZXR3b3JrMTAwLgYDVQQDEydTeW1hbnRlYyBDbGFzcyAzIFNIQTI1NiBDb2Rl
# IFNpZ25pbmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCXgx4A
# Fq8ssdIIxNdok1FgHnH24ke021hNI2JqtL9aG1H3ow0Yd2i72DarLyFQ2p7z518n
# TgvCl8gJcJOp2lwNTqQNkaC07BTOkXJULs6j20TpUhs/QTzKSuSqwOg5q1PMIdDM
# z3+b5sLMWGqCFe49Ns8cxZcHJI7xe74xLT1u3LWZQp9LYZVfHHDuF33bi+VhiXjH
# aBuvEXgamK7EVUdT2bMy1qEORkDFl5KK0VOnmVuFNVfT6pNiYSAKxzB3JBFNYoO2
# untogjHuZcrf+dWNsjXcjCtvanJcYISc8gyUXsBWUgBIzNP4pX3eL9cT5DiohNVG
# uBOGwhud6lo43ZvbAgMBAAGjggGDMIIBfzAvBggrBgEFBQcBAQQjMCEwHwYIKwYB
# BQUHMAGGE2h0dHA6Ly9zMi5zeW1jYi5jb20wEgYDVR0TAQH/BAgwBgEB/wIBADBs
# BgNVHSAEZTBjMGEGC2CGSAGG+EUBBxcDMFIwJgYIKwYBBQUHAgEWGmh0dHA6Ly93
# d3cuc3ltYXV0aC5jb20vY3BzMCgGCCsGAQUFBwICMBwaGmh0dHA6Ly93d3cuc3lt
# YXV0aC5jb20vcnBhMDAGA1UdHwQpMCcwJaAjoCGGH2h0dHA6Ly9zMS5zeW1jYi5j
# b20vcGNhMy1nNS5jcmwwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMDMA4G
# A1UdDwEB/wQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRU3ltYW50ZWNQ
# S0ktMS01NjcwHQYDVR0OBBYEFJY7U/B5M5evfYPvLivMyreGHnJmMB8GA1UdIwQY
# MBaAFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqGSIb3DQEBCwUAA4IBAQAThRoe
# aak396C9pK9+HWFT/p2MXgymdR54FyPd/ewaA1U5+3GVx2Vap44w0kRaYdtwb9oh
# BcIuc7pJ8dGT/l3JzV4D4ImeP3Qe1/c4i6nWz7s1LzNYqJJW0chNO4LmeYQW/Ciw
# sUfzHaI+7ofZpn+kVqU/rYQuKd58vKiqoz0EAeq6k6IOUCIpF0yH5DoRX9akJYmb
# BWsvtMkBTCd7C6wZBSKgYBU/2sn7TUyP+3Jnd/0nlMe6NQ6ISf6N/SivShK9DbOX
# Bd5EDBX6NisD3MFQAfGhEV0U5eK9J0tUviuEXg+mw3QFCu+Xw4kisR93873NQ9Tx
# TKk/tYuEr2Ty0BQhMYICNTCCAjECAQEwgZMwfzELMAkGA1UEBhMCVVMxHTAbBgNV
# BAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVz
# dCBOZXR3b3JrMTAwLgYDVQQDEydTeW1hbnRlYyBDbGFzcyAzIFNIQTI1NiBDb2Rl
# IFNpZ25pbmcgQ0ECEA3bOylKdQtpTYNUvgsPRWgwCQYFKw4DAhoFAKB4MBgGCisG
# AQQBgjcCAQwxCjAIoAKAAKECgAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
# HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFKiF
# sJBU3ksZ63EZVPPw2016tk79MA0GCSqGSIb3DQEBAQUABIIBABkRxfjZBFkGOcdE
# X/3L9a5Sob+AEnFbGTWWpkEODnJXf7zRsOyiiahnkgC8MH86kQFT4MDt9DV/gsyF
# k39otoXkXedYu5RF/6K52wZCldbIIW14g652aj3+vtxPbiSDsKdX/0KKfScy/S/0
# Kbx9Dpa3lTj7ZfPDnnDwlhA2ztPjKEw7nw8g7IXi4bonw3ilhwClVCB4TjEtn906
# P3RHNurzafYhK0fcYYOXNJw7mxCCBF7fPu6BgRFLUrKOP5CBwp+uUSNe0spobKph
# 2w7kyUWYlb5OO64HcR2dBKyutzVV7nMaO0Xz5hly59odHllCzfz4xFDldlyJs0xH
# qokGu+o=
# SIG # End signature block