{"id":31716,"date":"2019-10-31T21:42:42","date_gmt":"2019-10-31T18:42:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov\/"},"modified":"2019-10-31T21:42:42","modified_gmt":"2019-10-31T18:42:42","slug":"izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov","title":{"rendered":"Cambio de configuraci\u00f3n de programas manteniendo los par\u00e1metros personales","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h2>Antecedentes<\/h2>\n<p>\nEn una organizaci\u00f3n m\u00e9dica, se implementaron soluciones basadas en servidores PACS Orthanc y el cliente DICOM Radiant. Durante la configuraci\u00f3n, se descubri\u00f3 que cada cliente DICOM debe ser descrito en los servidores PACS de la siguiente manera:<\/p>\n<ul>\n<li>Nombre del cliente<\/li>\n<li>Nombre AE (debe ser \u00fanico)<\/li>\n<li>Puerto TCP que se abre autom\u00e1ticamente en el lado del cliente y recibe los estudios DICOM del servidor PACS (es decir, el servidor por as\u00ed decirlo empuja los datos hacia el cliente, iniciando primero la conexi\u00f3n)<\/li>\n<li>Direcci\u00f3n IP<\/li>\n<\/ul>\n<p>\nDespu\u00e9s de configurar los clientes Radiant, obtuvimos la siguiente informaci\u00f3n para reflexionar: para cada cliente, la configuraci\u00f3n del software con los par\u00e1metros mencionados anteriormente llevaba a completar el archivo <b>pacs.xml<\/b>, que se encontraba en el perfil del usuario (ruta: <b>%APPDATA%RadiantViewerpacs.xml<\/b>). Sin embargo, la configuraci\u00f3n de un cliente se diferenciaba de la de otro por al menos dos par\u00e1metros (el nombre AE era diferente para todos, mientras que el puerto generalmente era el mismo, excepto para los clientes terminales que operaban en el mismo servidor; ah\u00ed tambi\u00e9n era necesario asignar puertos diferentes).<\/p>\n<p>Ejemplo del archivo pacs.xml <noindex><a rel=\"nofollow\" href=\"https:\/\/drive.google.com\/open?id=1yd5q77gKRafZ2rvp6TWy-k1BKQrbrg6f\">el enlace<\/a><\/noindex>: <\/p>\n<p>Durante aproximadamente seis meses todo estuvo bien, el sistema funcion\u00f3\u2026 y entonces nos llegaron las \u00ab<b>piedras <\/b><b>bajo el agua<\/b>\u00bb:<\/p>\n<ul>\n<li>Necesitamos poner en funcionamiento varios nuevos servidores PACS que reemplazar\u00e1n a los antiguos (donde el espacio en los discos se estaba agotando). Los servidores PACS est\u00e1n en m\u00e1quinas virtuales, pero no es de eso de lo que se trata; <\/li>\n<li>Necesitamos de alguna manera cambiar centralizadamente las configuraciones \u00fanicas (con dos par\u00e1metros diferenciados) en 200 m\u00e1quinas (su n\u00famero aumentaba regularmente); <\/li>\n<li>Teniendo en cuenta el ritmo de crecimiento en el volumen de estudios, la soluci\u00f3n no debe ser puntual, sino replicable y regular (por ejemplo, 1 vez cada 3-5 meses). <\/li>\n<\/ul>\n<p>\nLa soluci\u00f3n a continuaci\u00f3n.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Selecci\u00f3n de herramientas para resolver la tarea<\/h2>\n<p>\nAl principio se intent\u00f3 encontrar alguna soluci\u00f3n que alterara el archivo pacs.xml en el lado del cliente, y realizara cambios en la lista de servidores PACS, sin tocar las configuraciones del nombre AE y el puerto TCP. En ese momento, los clientes de Windows estaban basados tanto en Windows XP como en Windows 7, por lo que se intentaron escribir cosas as\u00ed en VBScript. Pero lamentablemente, no se pudo llevar a cabo tal tarea, debido a la completa falta de experiencia en la programaci\u00f3n de algo complejo y complejo en este lenguaje. Tambi\u00e9n los intentos de encontrar y reescribir no tuvieron \u00e9xito (es necesario mencionar que ya ten\u00eda otro plan en mente, por lo que no segu\u00ed luchando con VBScript m\u00e1s de 3-4 horas).<\/p>\n<p>Al final, me detuve en la siguiente soluci\u00f3n:<\/p>\n<ul>\n<li>Reunir todas las archivos pacs.xml en un solo lugar en cualquier servidor del recurso de red; <\/li>\n<li>Modificar los archivos en lote (ya se tiene experiencia resolviendo tareas similares, utilizando Perl); <\/li>\n<li>Tambi\u00e9n actualizar la configuraci\u00f3n de los clientes utilizando pol\u00edticas de grupo. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Recolecci\u00f3n de archivos mediante pol\u00edticas de grupo<\/h3>\n<p>\nLa parte m\u00e1s sencilla es que al ingresar el cliente en su perfil, ejecuta un archivo .bat con los siguientes comandos:<\/p>\n<pre><code class=\"vbscript\">echo off\nIf exist %APPDATA%RadiantViewerpacs.xml copy %APPDATA%RadiantViewerpacs.xml srv.test.localpconfigs$pacs-%COMPUTERNAME%-%USERNAME%.xml\n<\/code><\/pre>\n<p>\nDe este modo, en el servidor en un recurso oculto se ir\u00e1n acumulando archivos pacs.xml, cuyos nombres contienen informaci\u00f3n sobre desde qu\u00e9 computadora y de qu\u00e9 usuario se copi\u00f3 esta configuraci\u00f3n.<\/p>\n<p>Lo m\u00e1s complicado fue esperar a que todos los usuarios aplicaran esta pol\u00edtica.<\/p>\n<h3>Modificaci\u00f3n de configuraciones mediante un script Perl<\/h3>\n<p>\nNecesitaremos <noindex><a rel=\"nofollow\" href=\"https:\/\/www.activestate.com\/products\/activeperl\/downloads\/\">Active Perl<\/a><\/noindex> para Windows de ActiveState, as\u00ed como el m\u00f3dulo XML::Writer, que se puede instalar con el comando <b>ppm install XML-Writer<\/b>.<\/p>\n<p>El script result\u00f3 ser bastante simple:<\/p>\n<pre><code class=\"perl\">use XML::Writer;\n \n# Abrimos la carpeta de informes, procesamos la lista (eliminamos lo innecesario):\n\t$report_dir = \"C:Perl64WORKPACS-xml3\";\n\topendir(DIR, \"$report_dir\") or die \"\u00a1No puedo abrir la carpeta de informes!\";\n\t@report_files = readdir DIR;\n\tshift (@report_files); # eliminamos el punto de los elementos del array (.)\n\tshift (@report_files); # eliminamos dos puntos de los elementos del array (..)\n#\tprint \"@report_files\";\n\tclosedir(DIR);\n \n# Comenzamos a procesar los archivos - uno a la vez. Necesitamos leer el par\u00e1metro AET y el n\u00famero de puerto en variables.\nforeach $analiz_file (@report_files) \n{\n\t$full_path_to_file=\"C:Perl64WORKPACS-xml3\".$analiz_file;\n\topen (INFO, $full_path_to_file);\n \n\twhile ($line = )\n\t{\n\t\t# Las variables $aet y $port contienen datos \u00fanicos para cada archivo XML:\n\t\tmy ($other1, $aet, $other2, $port, $other3) = split \/\"\/, $line, 5;\n\t\t# Si encontramos la cadena listener - hemos llegado a la l\u00ednea necesaria y podemos formar el nuevo XML:\n\t\tif ($other1 =~ 'listener')\n\t\t\t{\n\t\t\t\t# Formamos el nuevo XML con los campos y datos necesarios:\n\t\t\t\tmy $writer = XML::Writer-&gt;new(OUTPUT =&gt; 'self', DATA_MODE =&gt; 1, DATA_INDENT =&gt; 2);\n\t\t\t\t$writer-&gt;xmlDecl('utf-8');\n\t\t\t\t$writer-&gt;startTag('pacs');\n\t\t\t\t$writer-&gt;startTag('listener', ae =&gt; $aet, port =&gt; $port);\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('hosts');\n\t\t\t\t$writer-&gt;startTag('host', name =&gt; 'MRT', ae =&gt; 'ORTHANC', ip =&gt; 'XX.YY.214.17', ts =&gt; '1.2.840.10008.1.2.1', port =&gt; '4242', maxassoc =&gt; '1', allpres =&gt; '0', search =&gt; '1', protocol =&gt; '1', searchcharset =&gt; '', wildcards =&gt; '3', carets =&gt; '0');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('host', name =&gt; 'KT', ae =&gt; 'ORTHANC2', ip =&gt; 'XX.YY.215.253', ts =&gt; '1.2.840.10008.1.2.1', port =&gt; '4242', maxassoc =&gt; '1', allpres =&gt; '0', search =&gt; '1', protocol =&gt; '1', searchcharset =&gt; '', wildcards =&gt; '3', carets =&gt; '0');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('host', name =&gt; 'R', ae =&gt; 'ORTHANC3', ip =&gt; 'XX.YY.215.252', ts =&gt; '1.2.840.10008.1.2.1', port =&gt; '4242', maxassoc =&gt; '1', allpres =&gt; '0', search =&gt; '1', protocol =&gt; '1', searchcharset =&gt; '', wildcards =&gt; '3', carets =&gt; '0');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('host', name =&gt; 'KT-20180501-20180831', ae =&gt; 'ORTHANC4', ip =&gt; 'XX.YY.215.251', ts =&gt; '1.2.840.10008.1.2.1', port =&gt; '4242', maxassoc =&gt; '1', allpres =&gt; '0', search =&gt; '1', protocol =&gt; '1', searchcharset =&gt; '', wildcards =&gt; '3', carets =&gt; '0');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('host', name =&gt; 'KT-20180901-20181130', ae =&gt; 'ORTHANC5', ip =&gt; 'XX.YY.215.250', ts =&gt; '1.2.840.10008.1.2.1', port =&gt; '4242', maxassoc =&gt; '1', allpres =&gt; '0', search =&gt; '1', protocol =&gt; '1', searchcharset =&gt; '', wildcards =&gt; '3', carets =&gt; '0');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;endTag('hosts');\n\t\t\t\t$writer-&gt;startTag('presets');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;startTag('lastsearch', dt =&gt; '4', mfid =&gt; '1048592');\n\t\t\t\t$writer-&gt;endTag();\n\t\t\t\t$writer-&gt;endTag('pacs');\n \n\t\t\t\t# Almacenamos el XML listo en una variable:\n\t\t\t\tmy $xml = $writer-&gt;end();\n\t\t\t\t# Preparamos el archivo para sobrescribir:\n\t\t\t\t$rewritexml = $full_path_to_file;\n\t\t\t\t# Sobrescribimos los archivos XML con los nuevos datos:\n\t\t\t\topen (NEWXML, \"&gt; $rewritexml\");\n\t\t\t\tprint NEWXML $xml;\n\t\t\t\tclose (NEWXML);\n\t\t\t\t\n\t\t\t}\n\t}\n \n}\n<\/code><\/pre>\n<p>\nPrincipio de su funcionamiento:<\/p>\n<ul>\n<li>Abrimos el cat\u00e1logo donde hemos recopilado las configuraciones pacs.xml de los clientes y colocamos la lista de archivos en un array escalar (@report_files); <\/li>\n<li>En un bucle, procesamos un archivo a la vez y lo leemos l\u00ednea por l\u00ednea; <\/li>\n<li>Con split dividimos cada l\u00ednea en 5 partes, usando las comillas como separador; <\/li>\n<li>Encontramos la l\u00ednea con la palabra listener y ponemos en dos variables \u00fanicas para cada archivo los datos (nombre del cliente y n\u00famero de puerto TCP); <\/li>\n<li>Despu\u00e9s de eso, simplemente formamos un nuevo archivo XML, escribimos en \u00e9l los par\u00e1metros \u00fanicos y luego insertamos la cantidad necesaria de servidores PACS con sus par\u00e1metros \u2013 <b>es decir, lo que se persegu\u00eda al final<\/b>) <\/li>\n<li>Reescribimos el nuevo archivo XML sobre el antiguo. <\/li>\n<\/ul>\n<p>\nCabe destacar que, en realidad, no utilizo este script de forma completamente autom\u00e1tica; en esencia, copio las configuraciones recopiladas en un directorio separado y luego, al ejecutar el script, las modifico todas a la vez. Luego realizo una verificaci\u00f3n selectiva, y las configuraciones se pueden redistribuir a las m\u00e1quinas.<\/p>\n<h3>Distribuci\u00f3n de los archivos pacs.xml modificados entre los clientes<\/h3>\n<p>\nLo m\u00e1s simple que se me ocurri\u00f3 fue hacer cambios en un archivo .bat que ya est\u00e1 en funcionamiento, el cual recopila configuraciones de los clientes y a\u00f1adir la l\u00ednea:<\/p>\n<pre><code class=\"vbscript\">If exist %APPDATA%RadiantViewerpacs.xml copy \/Y srv.test.localpconfigsnew$pacs-%COMPUTERNAME%-%USERNAME%.xml %APPDATA%RadiantViewerpacs.xml\n<\/code><\/pre>\n<p>\nEl archivo .bat final se ve as\u00ed:<\/p>\n<pre><code class=\"vbscript\">@echo off\nIf exist %APPDATA%RadiantViewerpacs.xml copy %APPDATA%RadiantViewerpacs.xml srv.test.localpconfigs$pacs-%COMPUTERNAME%-%USERNAME%.xml\nIf exist %APPDATA%RadiantViewerpacs.xml copy \/Y srv.test.localpconfigsnew$pacs-%COMPUTERNAME%-%USERNAME%.xml %APPDATA%RadiantViewerpacs.xml\n<\/code><\/pre>\n<p><\/p>\n<h3>Conclusi\u00f3n<\/h3>\n<p>\nEste es un \u00ab<b>soluci\u00f3n improvisada<\/b>\u00bb Hemos probado esto ya dos veces (en septiembre de 2018 y en febrero de 2019), hasta ahora todo funciona bien. Claro que no actualiza el 100% de los clientes, pero est\u00e1 cerca de ese valor \u2014 los dem\u00e1s los terminamos de manera remota. El script sobre <noindex><a rel=\"nofollow\" href=\"https:\/\/drive.google.com\/open?id=1z4aPdZoIxE3DOk9LxfPCg44H20wPH12q\">el enlace<\/a><\/noindex>.<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/448270\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0412 \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 Orthanc \u0438 DICOM-\u043a\u043b\u0438\u0435\u043d\u0442\u0430 Radiant. \u0412 \u0445\u043e\u0434\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0438, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 DICOM-\u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d \u0432 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c: \u0418\u043c\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 AE-\u0438\u043c\u044f (\u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e) TCP-\u043f\u043e\u0440\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 DICOM-\u043e\u0431\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0442.\u0435. \u0441\u0435\u0440\u0432\u0435\u0440 \u043a\u0430\u043a \u0431\u044b \u0442\u043e\u043b\u043a\u0430\u0435\u0442 \u0438\u0445 \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31716","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0412 \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 Orthanc \u0438 DICOM-\u043a\u043b\u0438\u0435\u043d\u0442\u0430 Radiant.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0412 \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 Orthanc \u0438 DICOM-\u043a\u043b\u0438\u0435\u043d\u0442\u0430 Radiant.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:42:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:42:42+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Modificaci\u00f3n de la configuraci\u00f3n del software manteniendo los par\u00e1metros personales | ProHoster","description":"Antecedentes En una organizaci\u00f3n m\u00e9dica, se implementaron soluciones basadas en servidores PACS Orthanc y el cliente DICOM Radiant.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f \u0412 \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u043d\u0435\u0434\u0440\u044f\u043b\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 PACS-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 Orthanc \u0438 DICOM-\u043a\u043b\u0438\u0435\u043d\u0442\u0430 Radiant.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:42:42+00:00","article:modified_time":"2019-10-31T18:42:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31716","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 07:29:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:12:32","updated":"2026-01-21 07:29:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/31716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=31716"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/31716\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=31716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=31716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=31716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}