[Changelog] opsi-script (4.12.13.0-5) urgency=medium Fixes: - getMyIpByTarget on MacOS - problem with backslash(\) in a comment - Files section: "unzipfile" now handles UTF8 filenames in zip archives correct Changes: - update the progress during product processing for action requests uninstall and always - isFatalError: additional log the error message in the logfile - Registry section: improvments regarding modifier AllUserProfiles(former AllNTUserDats) and for user logging scripts Updates: - opsi-script logging at startup now contains compile date information - Files section: unzipfile comment has a new parameter encoding - ExecWith section: now works with pwsh or pwsh.exe - FileExists-functions: log resulting filename -- j.werner 9 February 2024 opsi-script (4.12.12.1) urgency=medium Fixes: - opsiservicecall: using modifiers opsiclientd/opsiclientd-once now work also on Unix systems [L/M] -- j.werner 9 November 2023 opsi-script (4.12.12.0) urgency=medium Fixes: - local user profiles: patch local NTUSER.dat also if logged-in user could not be determined [W] - event silent install: show an individual error message in report - opsi-script will no longer run in an exception, if the setActionProgress command is used and no service is available Changes: - powershellcall: improve robustness (ExecutionPolicy handling, old powershell versions) [W] - use new opsi 4.3 API method "configState_getValues" to read configs from service (opsi 4.3) - remove/replace deprecated API methods (opsi 4.3) Updates: - fpTOML library to new version (https://github.com/genericptr/fpTOML) - uib opsiscript libs to version 4.12.12.0 -- j.werner 3 November 2023 opsi-script (4.12.11.1) urgency=medium Changes: updated graphics to new design Custom skin file handling -- d.oertel 22 September 2023 opsi-script (4.12.11.0) urgency=medium Fixes: correct logviewer paths Changes: update ssl version to openssl 3 use new product sorting algorithm (only opsi 4.3) update translations -- j.werner 21 July 2023 opsi-script (4.12.10.0) urgency=medium Fixes: Primary sections: fix subrelease in getLinuxVersionMap [L] Registry: do not create key Wow6432Node if writing in key HKCU/Software on 64 systems [W] Changes: Turn the fatal error in case of no or an empty actions section into a warning with improved description New: Files section: we prevent the deletion of the program files directories 'C:\Program Files\' and 'C:\Program Files (x86)\' [W] LinkFolder section: delete_element can now also delete url links if the link name ends on '.url' Registry section: allow modifier name '/AllUserProfiles' in addition to '/AllNTUserDats‘ [W] ShellInAnIcon/DosInAnIcon/ShellBatch/DosBatch sections: unify sections with 'ShellScript' as new name. The old names are discouraged. Logging: opsi-script log header now shows 'MS Windows 11.0 (10.0)' as version on Windows 11 operating systems [W] -- j.werner 14 June 2023 opsi-script (4.12.9.1) urgency=medium Fixes: Empty (property) values from service are now handled correct. -- j.werner 14 April 2023 opsi-script (4.12.9.0) urgency=medium Fixes: remove possible memory leaks remove TQProgressBar to fix memory leaks fix in handling profiles, avoid empty string in the profilelist [W] Changes: replace deprecated API methods, adaptations for opsi 4.3 -- j.werner 11 April 2023 opsi-script (4.12.8.1) urgency=medium Fixes: fix a problem in BatchGUI related to user login scripts. fix in FileGetWriteAccess, only set rigths for the current director but not for any subdirectories and files within -- j.werner 03 April 2023 opsi-script (4.12.8.0) urgency=medium Fixes: removeFromListByContaining: Correct removing of the last element from the list. TOML files: Fix that all boolean values are lower case after modifications to match TOML syntax. Actions section: Log an error if an actions section is expected but not found. New: General: High DPI support for BatchGUI. opsi-script for aarch64 (raspi 64 bit). EXPERIMENTAL! Sections: Primary sections: New script statement 'setdebug_lib' to set/change the config opsi-script.global.debug_lib within your script. LinkFolder: delete_subfolder, better error reporting on non win32 systems. -- j.werner 17 March 2023 opsi-script (4.12.7.5-3) urgency=medium Fix: Syntax Check: - include_insert/include_append: if the include file is not found, the script is not set to failed in testsyntax mode anymore. - WinBatch/DosBatch: if timeoutseconds is not an integer, the script is not set to failed in testsyntax mode anymore. - ShowBitmap (only on windows): if a slash in the parameter string without number is given, the script is not set to failed in testsyntax mode anymore, because it could be unix code (with a unix path) opsi-script libs [W/L/M]: - uib_lin_install.opsiscript: fixes in installupdates(), linuxRemoveOneOf($packagelist$ : stringlist) : string, cleanupPackageSystem() -- j.werner 4 January 2023 opsi-script (4.12.7.4-3) urgency=medium Fix: Registry section [W]: - exportformat: hexdecimal values are now handled correctly. -- j.werner 14 December 2022 opsi-script (4.12.7.3-3) urgency=medium Fix: Registry section [W]: - exportformat: hexdecimal values with letters throw no syntax errors anymore. opsi-script libs [M]: - uib_macosinstalllib.opsiscript: fixes whitespace handling in deffunc install_macos_app($myapp$ : string) : string. -- j.werner 14 December 2022 opsi-script (4.12.7.2-3) urgency=medium New: Parser [W/L/M]: - Syntax Check: if testsyntax is set (via config or opsi-script-gui -> Button Test Syntax) only the syntax of the script is tested. The script is not excecuted. Fixes: Parser [W/L/M]: - fix in OpsiServiceCall section xml2 [W]: - attribute sequence - makeNodePathWithTextContent: - additional parameter for strictmode - use strictmode parameter for node creation LinkFolder [W/L/M]: - In DeleteShellLink use GetSpecialFolderPath instead of hard-coded path to handle all kinds of base folders -- j.werner 05 Dec 2022 opsi-script (4.12.6.2-3) urgency=high Fixes: WinBatch, DOSBatch/ShellBatch/DOSInAnIcon/ShellInAnIcon [W]: fix in WaitForProcessEnding. -- j.werner 19 Oct 2022 opsi-script (4.12.6.1-3) urgency=medium New: Registry section [W]: - We support the data type QWord. - New command "deleteListEntries" to remove entries from list variables. Files section [L]: copy -u for Linux. Functions: - HashFromFile(,) [W/L/M]: Supporting about 80 hashing algorithms. - GetValueFromIniFile (,
, , , []) [W/L/M]: new optional encoding parameter. EXPERIMENTAL: Statement reloadProductList [W/L/M]: Product list from the opsi-server can now be reloaded into ospi-script without the need of a reboot. The reload occured after finishing the script in which reloadProductList is called. Fixes: Interpreter [W/L/M]: If the script could not be loaded the product is not set to successful anymore. External processes[L/M]: at unix the exicodes also from child processes are caught to avoid zombies. Actions section [W/L/M]: - Parse and evaluate generic stringlist equal to createStringList for correct functionality. - Generic string list definition works the same way as the function createStringList now. - Throw an error if a variable is defined twice outside of defined functions. Files section [W/L/M]: - del command now deletes any file including hidden files. Changes: Actions section [W/L/M]: - direct initialization of variables (string and stringlist) works similar to 'set' now, e.g. logging. Registry section [W]: - synchronize data type handling with the documentation, i.e. supp does not change data types. Functions: - md5fromFile() [W/L/M]: now uses internally the new function HashFromFile. -- j.werner 31 Aug 2022 opsi-script (4.12.5.6-3) urgency=high Fixes: Files section: del command with empty string e.g. del -sf "" does not create an exception anymore, gives only a warning -- j.werner 14 July 2022 opsi-script (4.12.5.5-3) urgency=medium Fixes: getLinuxVersionMap/getLinuxDistroType now correctly work on new linux distributions where lsb_release does not work anymore -- j.werner 14 July 2022 opsi-script (4.12.5.4-3) urgency=low Fixes: config opsi-script.global.writeProductLogFile is created as boolean also if config opsi-script.global.writeProductLogFile already exists but with wrong type -- j.werner 29 June 2022 opsi-script (4.12.5.4-2) urgency=low Fixes: powershellcall with no access string given resulted in an empty modifier instead of the default 'sysnative' config opsi-script.global.writeProductLogFile is created as boolean. -- j.werner 22 June 2022 opsi-script (4.12.5.3-1) urgency=low Changes: * powershellCall [W]: execution of powershellcall with powershell.exe -ExecutionPolicy ByPass -- j.werner 09 June 2022 opsi-script (4.12.5.2-1) urgency=low Fixes: * webservice [M]: fix on openssl. Openssl units from opsi-script 4.12.5.1 did not work correctly on MacOS. * files section [W/L/M]: handle division by zero if files to zip are empty * powershellCall [W]: correction for powershellcall without assignment -- j.werner 09 June 2022 opsi-script (4.12.5.1-1) urgency=low New: * Patches section [W]: support %userprofiledir% inside of patches section. * Files section [L]: Command CHMOD with mode formats 'ugo=+-rwx' and '-rwxrwxrwx' and with parameter '/AllSubFiles'. * functions for TOML files handling [W/L/M]: LoadTOMLFile(): StringList, GetTOMLAsStringList(): StringList, GetTOMLKeys(): StringList, GetTOMLTableNames(, ): StringList, ReadTOMLFile (): String, GetTOMLAsString(): String, GetTOMLTableAsString(,
): String, GetValueFromTOML(, , ): String, ModifyTOML(, , , ): String, DeleteTableFromTOML(, ): String, ConvertTOMLtoJSON(): String, SaveToTOMLFile (, ) : boolean, ConvertTOMLfileToJSONfile(, ): boolean. * GetRegistry functions [W]: getRegistryKeyList(, ), getRegistryVarList(, ), getRegistryVarMap(, ). * defined functions [W/L/M]: support string concatenation in call of defined functions. Changes: * openssl [W]: update openssl on Windows to version 1.1.1n. * webservice [W/L/M]: improved debugging and error handling. * getWinProcessList [W]: use wincp2utf8 to reencode results. Fixes: * PowershellCall [W]: now shows output also for piped commands e.g. powershellCall("Get-hotfix | Select HotfixId"). Neverthless be carefull using piped commands in powershellCall! * Files section [W/L/M]: "del" now works with wildcards. * Registry section [W]: "deletekey" now handles umlauts correctly. * Comment [W/L/M]: Syntax errors in comments were ignored so far, now they will throw a syntax error. * isProcessChildOf [W/L/M]: avoiding of an endless loop (hanging) which might occur under certain circumstances. * sub [W/L/M]: spaces in front of the lines of a sub file will not be removed any more (so that e.g. python code in an ExecWith section keeps its syntax). * opsiservicecall [W/L/M]: support newline and tab. * oswebservice: correct detection of opsi 4.0/4.1 (necessary for establishing the connection) -- j.werner 25 Mai 2022 opsi-script (4.12.4.37-1) stable; urgency=low * osparser: new global constant %opsiUsertmpDir%; implements #4496 * osparser: allow json value syntax in params in opsiServiceCall: i.e. numeric/boolean values, arrays, objects and null without quotes; implements #4705 * oscertificates: finalize function for linux /mac: function pemfileToSystemStore(filename: string): boolean; function removeCertFromSystemStore(labelstr: string): boolean; function listCertificatesFromSystemStore(): TStringList; function isCertInstalledInSystemStore(labelstr: string): boolean; * new function isCertInstalledInSystem(