63 lines
2.2 KiB
PowerShell
63 lines
2.2 KiB
PowerShell
|
|
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
|