ich habe nun erfolgreich Windows installiert und auch einige Programme via OPSI installiert. Nun muss aber einiges noch am System eingestellt wie zum Beispiel der automatische Login des Standardusers. Dafür wollte ich ein eigenes Paket "basteln" welches am besten nach der Installation des BS ausgeführt wird und zum Beispiel dafür sorgt, dass der Standarduser automatisch eingeloggt wird sofern dies als Option ausgewählt wurde. Ähnlich dem opsi-client-agent wo ich ja auch einige Property-Konfigurationen vornehmen kann.
Frage: Wie stelle ich das am dümmsten an? Hat vielleicht jemand ein Beispiel dafür wo ich mir das ganze "abgucken" und umbauen kann?
Danke und Gruß aus Hamburg
___________________________________________________ E D I T_______________________________________________________
Also jetzt wird der Hund in der Pfanne verrückt. Über 60 Versionen habe ich jetzt ausprobiert und komme einfach nicht weiter. Ich habe etwas gefunden was recht gut passt,- nur der automatische Userlogin funktioniert nicht. Dafür habe ich am Ende (im Abschnitt [Registry_install]) aber die entsprechenden Zeilen eingefügt die eben dafür sorgen sollen. Leider tut sich da so gar nichts. Dabei ist es auch völlig unerheblich in welcher Konstellation oder an welcher Stelle ich das ganze einfüge. Es tut sich einfach nichts. Was mache ich hier falsch? Das ist alles super kompliziert und wenn das so weiter geht, wird OPSI nier zum Einsatz weil ich in 10 Jahren noch nicht fertig bin damit....
Code: Alles auswählen
[Actions]
requiredWinstVersion >= "4.11.2.1"
setLogLevel=3
DefVar $ProductName$
DefVar $local_user$
DefVar $Group$
DefVar $SearchResult$
DefVar $flag_active$
DefVar $val_userpasswd$
DefVar $val_username$
DefVar $val_groupmember$
DefVar $val_expires$
DefVar $UserExists$
DefVar $UserGroup$
DefVar $date_tomorrow$
DefVar $pwd_expires$
DefStringlist $ResultList$
DefStringlist $ResultList2$
DefStringlist $ResultList3$
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 "Überprüfe ob der Benutzer schon vorhanden ist."
comment "Wenn der Benutzer vorhanden ist, wird das Passwort geändert. Andernfalls wird der Benutzer erstellt."
set $ResultList2$ = getOutStreamFromSection("DosInAnIcon_checkuser")
set $UserExists$ = takeString(0,$ResultList2$)
setLogLevel=0
comment "Erstellt einen lokalen Benutzer"
if $UserExists$ = "no"
DosInAnIcon_makeadmin
else
DosInAnIcon_alter_pw
endif
setLogLevel=3
comment "Aktiviert oder deaktiviert den Benutzer."
comment "flag_active ist auf ON."
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$ = "niemals"
DosInAnIcon_expires_never
else
DosInAnIcon_expires_tomorrow
endif
if $pwd_expires$ = "niemals"
DosInAnIcon_pwd_expires_never
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", "123456")
comment "val_username"
comment "description: admin username"
set $local_user$= GetProductProperty("val_username", "testuser")
comment "val_groupmember"
comment "description: Groupemembership"
set $UserGroup$= GetProductProperty("val_groupmember", "Administratoren")
comment "val_expires"
comment "description: expires"
set $val_expires$ = GetProductProperty("val_expires", "Morgen")
comment "pwd_expires"
comment "description: pwd expires"
set $pwd_expires$ = GetProductProperty("pwd_expires", "niemals")
[DosInAnIcon_checkuser]
@echo off
net user $local_user$ >nul 2>&1 && echo yes || echo no
[DosInAnIcon_get_admin_group]
@echo off
"%ScriptPath%\psgetsid.exe" /accepteula S-1-5-32-544
[DosInAnIcon_get_user_group]
@echo off
"%ScriptPath%\psgetsid.exe" /accepteula S-1-5-32-545
[DosInAnIcon_get_guest_group]
@echo off
"%ScriptPath%\psgetsid.exe" /accepteula S-1-5-32-547
[DosInAnIcon_makeadmin]
NET USER $local_user$ $val_userpasswd$ /ADD /comment:"Lokaler User durch die testfirma erstellt" /fullname:"testuser" /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:niemals
[DosInAnIcon_pwd_expires_never]
; Fix siehe: https://forum.opsi.org/viewtopic.php?f=5&t=7326
wmic useraccount where name='$local_user$' set PasswordExpires=FALSE
[DosInAnIcon_expires_tomorrow]
NET USER $local_user$ /expires:$date_tomorrow$
[Registry_install]
openkey [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
set "AutoAdminLogon" = REG_SZ:"1"
set "DefaultUserName" = REG_SZ:"$local_user$"
set "DefaultPassword" = REG_SZ:"$val_userpasswd$"