thanks for your help.

break on
dim $filter[0]
$filter[0] = 'Computer'
$objDomain = GetObject('WinNT://' + @DOMAIN + ',domain')
$objDomain.Filter = $filter
for Each $OC in $objDomain
? $OC.Name
$Index = 0
do
$Sid = ENUMKEY("\\" + $OC.Name + "\" + "HKEY_USERS", $Index)
$Error = @Error
if NOT @ERROR
if substr($Sid,1,8) <> ".DEFAULT"
;timeout : 30 minutes.
;$res=WRITEVALUE("\\"+$OC.Name+"\HKEY_USERS\$Sid\Control Panel\Desktop","ScreenSaveTimeOut","1800","REG_SZ")
;Activate it
$res=WRITEVALUE("\\"+$OC.Name+"\HKEY_USERS\$Sid\Control Panel\Desktop","ScreenSaveActive","1","REG_SZ")
;specify screensaver
$res=WRITEVALUE("\\"+$OC.Name+"\HKEY_USERS\$Sid\Control Panel\Desktop","SCRNSAVE.EXE","C:\WINNT\System32\logon.scr","REG_SZ")
;Activate password protection
$res=WRITEVALUE("\\"+$OC.Name+"\HKEY_USERS\$Sid\Control Panel\Desktop","ScreenSaverIsSecure","1","REG_SZ")
;Disable screensaver properties
$res=WRITEVALUE("\\"+$OC.Name+"\HKEY_USERS\$Sid\Software\Microsoft\Windows\CurrentVersion\Policies\System","NoDispScrSavPage","1","REG_DWORD")
endif
else
if @ERROR and @ERROR <> 259
? 'Error : ' + @ERROR + ' ' + @SERROR
logevent(2,1,$OC.Name+' '+@SERROR,'','Test10.kix')
endif
endif
$Index = $Index + 1
Until $Error
Next

Do you think that I must convert in UDF, for others to use ?