fusionpbx-install.sh/windows/resources/install-postgresql-odbc.ps1

63 lines
2.2 KiB
PowerShell
Raw Normal View History

2018-01-03 09:13:29 +01:00
Function Install-PostgresODBC() {
. .\resources\get-cpu.ps1
. .\resources\get-link.ps1
. .\resources\get-file.ps1
. .\resources\expand-zip.ps1
. .\resources\get-database_password
if (Get-Installed-App "psqlODBC*") {
Write-Host PostgreSQL ODBC is already installed
return
}
$cpu = Get-CPU
if ($cpu -eq "x86") {
$url = "https://ftp.postgresql.org/pub/odbc/versions/msi/psqlodbc_10_01_0000-x86.zip"
}
else {
$url = "https://ftp.postgresql.org/pub/odbc/versions/msi/psqlodbc_10_01_0000-x64.zip"
}
Write-Host Download ODBC from $url -ForegroundColor Cyan
$filename = Get-File $url -Force
Expand-ZIP $filename
Write-Host Install postgresql-odbc
$filename = Get-Item psqlodbc*.exe
if ($filename) {
Start-Process $filename -Wait
}
$filename = Get-Item psqlodbc*.msi
if ($filename) {
Start-Process msiexec "/i $filename /passive /qb" -Wait
}
#if ((Get-Command Get-OdbcDsn)) { # -ErrorAction SilentlyContinue
#Get or create DSN
# $dsn = Get-OdbcDsn FusionPBX -ErrorAction SilentlyContinue
# Remove-OdbcDsn FusionPBX -DsnType System
# if ($dsn.length -eq 0) {
# Get ODBC Driver name
# $driver = (Get-OdbcDriver -Name "PostgreSQL Unicode*").Name
# $dsn = Add-OdbcDsn -DsnType System -Name fusionpbx -DriverName $driver -SetPropertyValue "servername=localhost","port=5432","database=fusionpbx","GssAuthUseGSS=0"
# }
# $dsn | Set-OdbcDsn -SetPropertyValue Username=postgres
# $dsn | Set-OdbcDsn -SetPropertyValue password=$database_password
#}
#else {
# Configure DSN with ODBC Administrator
Write-Host The ODBC Administrator window will open. -ForegroundColor Yellow
if ($cpu -eq "x86") {
$driver="PostgreSQL Unicode"
}
else {
$driver="PostgreSQL Unicode(x64)"
}
#ODBCCONF.EXE /Lv dsn_log.txt CONFIGSYSDSN "$driver" "DSN=fusionpbx|server=localhost|port=5432|database=fusionpbx|Username=postgres|password=$database_password"
ODBCCONF.EXE /Lv dsn_log.txt CONFIGSYSDSN "$driver" "DSN=fusionpbx|server=localhost|port=5432|database=fusionpbx|Username=postgres|password=$database_password|GssAuthUseGSS=false"
#}
#Start-Process odbcad32.exe -Wait
}
#. .\resources\get-database_password
#Test-ODBC fusionpbx postgres $database_password