microsoft.localuser/CLIENT_DATA/setup.ins

151 lines
4.0 KiB
TeX

[Actions]
requiredWinstVersion >= "4.11.2.1"
setLogLevel=3
DefVar $ProductId$
DefVar $ProductName$
DefVar $local_user$
DefVar $local_desc$
DefVar $Group$
DefVar $SearchResult$
DefVar $flag_active$
DefVar $val_userpasswd$
DefVar $val_username$
DefVar $val_userdesc$
DefVar $val_groupmember$
DefVar $val_expires$
DefVar $UserExists$
DefVar $UserGroup$
DefVar $date_tomorrow$
DefStringlist $ResultList$
DefStringlist $ResultList2$
DefStringlist $ResultList3$
; The token BUILDER_VARIABLES will be replaced by opsi-builder.sh
; and adds the following variables:
; from builder-product.cfg : all variables definded by attribute WINST[index]
; from builder-product.cfg : VENDOR PN VERSION RELEASE PRIORITY ADVICE TYPE
; from opsi-builder.cfg : CREATOR_TAG CREATOR_NAME CREATOR_EMAIL
; auto generated winst-variables
; $IconFile$: path to product picture
;
@@BUILDER_VARIABLES@@
sub_get_properties
comment "get the name of the admin group"
comment "using psgetsid from sysinernals pstools"
if $UserGroup$ = "Administratoren"
set $ResultList$ = getOutStreamFromSection("DosInAnIcon_get_admin_group")
endif
if $UserGroup$ = "Benutzer"
set $ResultList$ = getOutStreamFromSection("DosInAnIcon_get_user_group")
endif
if $UserGroup$ = "Gaeste"
set $ResultList$ = getOutStreamFromSection("DosInAnIcon_get_guest_group")
endif
set $Group$ = takeString(6,$ResultList$)
set $Group$ = takeString(1,splitstring($Group$,"\"))
comment "Check if user exists."
comment "If user exists, the password will be altered. Otherwise, the user will be created."
set $ResultList2$ = getOutStreamFromSection("DosInAnIcon_checkuser")
set $UserExists$ = takeString(0,$ResultList2$)
setLogLevel=0
comment "create our local user"
if $UserExists$ = "no"
DosInAnIcon_makeadmin
else
DosInAnIcon_alter_pw
endif
setLogLevel=3
comment "Enables or disables the user."
comment "flag_active is set to 'no' by the product properties for not opening accidently a security risk *g*."
if $flag_active$ = "on"
DosInAnIcon_enable_admin
else
DosInAnIcon_disable_admin
endif
set $ResultList3$ = getOutStreamFromSection("DosInAnIcon_get_date_tomorrow")
set $date_tomorrow$ = takeString(2,$ResultList3$)
;set $date_tomorrow$ = takeString(1,splitstring(" ",$date_tomorrow$))
if $val_expires$ = "never"
DosInAnIcon_expires_never
else
DosInAnIcon_expires_tomorrow
endif
[sub_get_properties]
comment "flag_active"
comment "description: User active"
Set $flag_active$ = GetProductProperty("flag_active", "off")
comment "val_userpasswd"
comment "description: password"
Set $val_userpasswd$ = GetProductProperty("val_userpasswd", "SecurePW!")
comment "val_username"
comment "description: admin username"
set $local_user$= GetProductProperty("val_username", "locsupp")
comment "val_userdesc"
comment "description: admin user description"
set $local_desc$= GetProductProperty("val_userdesc", "Local Support")
comment "val_groupmember"
comment "description: Groupemembership"
set $UserGroup$= GetProductProperty("val_groupmember", "Administratoren")
comment "val_expires"
comment "description: expires"
set $val_expires$ = GetProductProperty("val_expires", "tomorrow")
[DosInAnIcon_checkuser]
@echo off
net user $local_user$ >nul 2>&1 && echo yes || echo no
[DosInAnIcon_get_admin_group]
@echo off
"$PsGetSidExe$" /accepteula S-1-5-32-544
[DosInAnIcon_get_user_group]
@echo off
"$PsGetSidExe$" /accepteula S-1-5-32-545
[DosInAnIcon_get_guest_group]
@echo off
"$PsGetSidExe$" /accepteula S-1-5-32-547
[DosInAnIcon_makeadmin]
NET USER $local_user$ $val_userpasswd$ /ADD /comment:"Local User created by opsi-package" /fullname:"$local_desc$" /passwordchg:no /passwordreq:yes
NET LOCALGROUP $Group$ /ADD $local_user$
[DosInAnIcon_alter_pw]
NET USER $local_user$ $val_userpasswd$
[DosInAnIcon_enable_admin]
NET USER $local_user$ /active:yes
[DosInAnIcon_disable_admin]
NET USER $local_user$ /active:no
[DosInAnIcon_get_date_tomorrow]
%ScriptPath%\morgen.bat
[DosInAnIcon_expires_never]
NET USER $local_user$ /expires:never
[DosInAnIcon_expires_tomorrow]
NET USER $local_user$ /expires:$date_tomorrow$