Hi,
habe mir einige skripts zur installation gemacht. (WinXP)
Aus diversen Gründen (WAL Folder auf zweite Platte, anderer Servicenamen,…) muss ich msi und intidb separat aufrufen, außerdem meinen Windows Dienst selber anlegen und auch den entsprechenden Benutzer dazu.
Problem: Mein angelegter Benutzer darf den selbst angelegten service nicht starten. Dies liegt an der Gruppenrichlinie ‘Als Dienst anmelden’. In dieser ist mein neuer Benutzer natürlich nicht eingetragen. Wie kann man dort seinen Benutzer per Skript eintragen?
Ich hänge die wichtigsten Teile aus meinen Skripts mal an, vielleicht kanns ja jemand gebrauchen.
SET pgPath=E:\postgres
SET walPath=D:\COMPANY_WAL
REM Run installer package
msiexec /i postgresql-8.3-int.msi /qn INTERNALLAUNCH=1 DOSERVICE=0 DOINITDB=0 ADDLOCAL="server,psql,pgadmin,includefiles,libfiles,nls" PERMITREMOTE=1 BASEDIR=%pgPath% /Lime InstallationLog.txt
REM Remove data folder, because it wasn't create with the 'sa' user, but with another user.
rmdir /S /Q %pgPath%\Data
REM Create new database cluster
%pgPath%\bin\initdb.exe --username="sa" --pwfile="SAPassword.txt" --pgdata=%pgPath%\COMPANY_Data --encoding=UTF8 --locale="English_United Kingdom" --xlogdir=%walPath%
REM Create windows user 'sa' with permissions for the postgres folders ...
NET USER sa "userpassword" /add /expires:never /passwordchg:no /comment:"COMPANY User for the database service"
XCACLS.exe %pgPath%\COMPANY_Data /E /T /G sa:rcxdp
XCACLS.exe %walPath% /E /T /G sa:rcxdp
NET LOCALGROUP Benutzer sa /delete
REM Create windows service to control the postgres database
SC CREATE pgCOMPANYDB start= auto binpath= "%pgPath%\bin\pg_ctl.exe runservice -w -N \"pgCOMPANYDB\" -D \"%pgPath%\COMPANY_Data\\"" displayname= "PostgreSQL COMPANY DB" obj= ".\sa" password= "topsecret"
SC DESCRIPTION pgCOMPANYDB "The service to control the PostgreSQL database"
REM give the user 'sa' the necessary permissions to start the service
REM InstallerTools\SUBINACL /service pgCOMPANYDB /Grant=sa=F
REM actualy this step seems to be not necessary
REM Start the database
SC START pgCOMPANYDB
REM --> Fails :(