{"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\/da\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov","title":{"rendered":"\u00c6ndring af programmets indstillinger med bevarelse af personlige parametre","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h2>Background<\/h2>\n<p>\nI en medicinsk organisation implementerede de l\u00f8sninger baseret p\u00e5 PACS-servere Orthanc og DICOM-klienten Radiant. Ved ops\u00e6tningen fandt vi ud af, at hver DICOM-klient skal beskrives i PACS-serverne som f\u00f8lger:<\/p>\n<ul>\n<li>Klientens navn<\/li>\n<li>AE-navn (skal v\u00e6re unikt)<\/li>\n<li>TCP-port, der automatisk \u00e5bnes p\u00e5 klientens side og modtager DICOM-unders\u00f8gelser fra PACS-serveren (dvs. serveren 'skubber' dem mod klienten \u2013 initierer forbindelsen f\u00f8rst)<\/li>\n<li>IP-adresse<\/li>\n<\/ul>\n<p>\nEfter ops\u00e6tningen fik Radiant-klienterne f\u00f8lgende information til eftertanke \u2013 for hver klient f\u00f8rte indstillingen af softwaren med de ovenfor angivne parametre til udfyldelsen af filen <b>pacs.xml<\/b>, som l\u00e5 i brugerens profil (sti: <b>%APPDATA%RadiantViewerpacs.xml<\/b>). Konfigurationen for \u00e9n klient adskilte sig fra en anden med minimum to parametre (AE-navnet var forskelligt for alle, mens porten hovedsageligt var den samme, undtagen terminalklienter, der k\u00f8rte p\u00e5 den samme server \u2013 der m\u00e5tte ogs\u00e5 tildeles forskellige porte).<\/p>\n<p>Eksempel p\u00e5 filen pacs.xml fra <noindex><a rel=\"nofollow\" href=\"https:\/\/drive.google.com\/open?id=1yd5q77gKRafZ2rvp6TWy-k1BKQrbrg6f\">linket<\/a><\/noindex>: <\/p>\n<p>Omtrent et halvt \u00e5r gik alt godt, systemet fungerede... og s\u00e5 kom '<b>undergrunds <\/b><b>klipper<\/b>\u00bb:<\/p>\n<ul>\n<li>Vi er n\u00f8dt til at tage flere nye PACS-servere i brug, der skal erstatte de gamle (hvor der ikke var mere plads p\u00e5 harddiskene). PACS-servere i virtuelle maskiner, men det handler ikke om det; <\/li>\n<li>Vi skal p\u00e5 en eller anden m\u00e5de centralt \u00e6ndre de unikke konfigurationer (med to forskellige parametre) p\u00e5 200 maskiner (deres antal voksede j\u00e6vnligt); <\/li>\n<li>I betragtning af v\u00e6ksthastigheden af unders\u00f8gelsesvolumener skal l\u00f8sningen ikke v\u00e6re engangs, men reproducerbar og regelm\u00e6ssig (f.eks. \u00e9n gang hver 3-5 m\u00e5neder). <\/li>\n<\/ul>\n<p>\nL\u00f8sningen er nedenfor.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Valg af v\u00e6rkt\u00f8j til at l\u00f8se opgaven<\/h2>\n<p>\nI starten var der fors\u00f8g p\u00e5 at finde en l\u00f8sning, der p\u00e5 klientens side \u00e6ndrede filen pacs.xml og foretog \u00e6ndringer i listen over PACS-servere uden at r\u00f8re ved indstillingerne for AE-navn og TCP-port. Windows-klienterne var p\u00e5 det tidspunkt baseret b\u00e5de p\u00e5 Windows XP og Windows 7 \u2013 derfor var der fors\u00f8g p\u00e5 at skrive noget i VBScript. Men desv\u00e6rre \u2013 jeg kunne ikke magte en s\u00e5dan opgave, da jeg helt manglede erfaring i at skrive noget komplekst og komplekst p\u00e5 dette sprog. Fors\u00f8gene p\u00e5 at finde og omskrive blev heller ikke en succes (her skal det bem\u00e6rkes, at der allerede var en anden plan i hovedet, s\u00e5 jeg n\u00f8lede ikke med VBScript i mere end 3-4 timer).<\/p>\n<p>I sidste ende besluttede jeg at g\u00e5 med f\u00f8lgende l\u00f8sning:<\/p>\n<ul>\n<li>Samle en gruppepolitik, der placerer alle pacs.xml-filer et sted p\u00e5 en server i netv\u00e6rksressourcen; <\/li>\n<li>\u00c6ndre filerne i samlet form (der er tidligere erfaring med at l\u00f8se s\u00e5danne opgaver - ved hj\u00e6lp af Perl); <\/li>\n<li>Opdater ogs\u00e5 klientindstillingerne ved hj\u00e6lp af gruppepolitikker. <\/li>\n<\/ul>\n<p><\/p>\n<h3>Indsamling af filer ved hj\u00e6lp af gruppepolitikker<\/h3>\n<p>\nDen nemmeste del - n\u00e5r en klient logger ind i sin profil, k\u00f8rer han en .bat-fil, som indeholder:<\/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>\nP\u00e5 denne m\u00e5de vil pacs.xml-filer samle sig p\u00e5 serveren i en skjult ressource, hvis navne indeholder information om, hvilken computer og hvilken bruger den p\u00e5g\u00e6ldende konfiguration blev kopieret fra.<\/p>\n<p>Det sv\u00e6reste var at vente p\u00e5, at denne politik tr\u00e5dte i kraft for alle brugere.<\/p>\n<h3>\u00c6ndring af konfigurationer med en Perl-script<\/h3>\n<p>\nVi f\u00e5r brug for <noindex><a rel=\"nofollow\" href=\"https:\/\/www.activestate.com\/products\/activeperl\/downloads\/\">Active Perl<\/a><\/noindex> til Windows fra ActiveState, samt modulet XML::Writer, som kan installeres med kommandoen <b>ppm install XML-Writer<\/b>.<\/p>\n<p>Selve scriptet viste sig at v\u00e6re ganske simpelt:<\/p>\n<pre><code class=\"perl\">use XML::Writer;\n \n# \u00c5bner mappen med rapporter, behandler listen (fjerner un\u00f8dvendige elementer):\n\t$report_dir = \"C:Perl64WORKPACS-xml3\";\n\topendir(DIR, \"$report_dir\") or die \"Kan ikke \u00e5bne mappen med rapporter!\";\n\t@report_files = readdir DIR;\n\tshift (@report_files); # fjerner punktum fra arrayelementer (.)\n\tshift (@report_files); # fjerner to punktummer fra arrayelementer (..)\n#\tprint \"@report_files\";\n\tclosedir(DIR);\n \n# Begynder at behandle filer - en ad gangen. Man skal l\u00e6se parameter AET og portnummer i variabler.\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# Variablerne $aet og $port indeholder unikke data for hver XML-fil:\n\t\tmy ($other1, $aet, $other2, $port, $other3) = split \/\"\/, $line, 5;\n\t\t# Hvis strengen listener findes - s\u00e5 har vi n\u00e5et den \u00f8nskede linje og kan danne ny XML:\n\t\tif ($other1 =~ 'listener')\n\t\t\t{\n\t\t\t\t# Danner ny XML med de n\u00f8dvendige felter og data:\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# Placerer den f\u00e6rdige XML i en variabel:\n\t\t\t\tmy $xml = $writer-&gt;end();\n\t\t\t\t# Forbereder filen til overskrivning:\n\t\t\t\t$rewritexml = $full_path_to_file;\n\t\t\t\t# Skriver XML-filer om med nye data:\n\t\t\t\topen (NEWXML, \"&gt; $rewritexml\");\n\t\t\t\tprint NEWXML $xml;\n\t\t\t\tclose (NEWXML);\t\t\t\t\n\t\t\t}\n\t}\n \n}\n<\/code><\/pre>\n<p>\nPrincipen for dets arbejde:<\/p>\n<ul>\n<li>Vi \u00e5bner kataloget, der indeholder konfigurationer af pacs.xml fra kunderne, og placerer listen over filer i en skalar array (@report_files); <\/li>\n<li>I en l\u00f8kke behandler vi \u00e9n fil ad gangen og l\u00e6ser den linje for linje; <\/li>\n<li>Ved hj\u00e6lp af split opdeler vi hver linje i 5 dele ved at bruge anf\u00f8rselstegn som separator; <\/li>\n<li>Vi finder linjen med ordet listener og placerer de unikke data (AE-kundens navn og nummeret p\u00e5 TCP-port) i to variabler, der er unikke for hver fil; <\/li>\n<li>Derefter opretter vi blot en ny XML-fil, skriver de unikke parametre ind, og inds\u00e6tter det n\u00f8dvendige antal PACS-servere med deres parametre - <b>alts\u00e5 det, som hele dette tiltag drejer sig om<\/b>) <\/li>\n<li>Vi overskriver den gamle XML-fil med den nye. <\/li>\n<\/ul>\n<p>\nDet skal bem\u00e6rkes, at jeg faktisk ikke bruger dette script helt automatisk \u2013 i stedet kopierer jeg de indsamlede konfigurationer til et separat katalog og k\u00f8rer derefter scriptet for at \u00e6ndre dem alle p\u00e5 \u00e9n gang. Herefter en stikpr\u00f8vekontrol \u2013 og konfigurationerne kan deles tilbage til maskinerne.<\/p>\n<h3>Distribution af de \u00e6ndrede pacs.xml-filer til kunderne<\/h3>\n<p>\nDet mest enkle, der kom til at t\u00e6nke p\u00e5 \u2013 at foretage \u00e6ndringer i den eksisterende .bat fil, der indsamler konfigurationerne fra kunderne, og tilf\u00f8je linjen:<\/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>\nDen endelige .bat fil ser s\u00e5ledes ud:<\/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>Konklusion<\/h3>\n<p>\nS\u00e5dan et \u00ab<b>hjemmesl\u00f8jd<\/b>\u00bb l\u00f8sning. Vi har allerede pr\u00f8vet det to gange (i september 2018 og i februar 2019), og indtil videre er alt i orden. Selvf\u00f8lgelig opdaterer det ikke 100 % af kunderne, men t\u00e6t p\u00e5 det tal \u2014 de resterende tager vi os af eksternt. Scriptet om <noindex><a rel=\"nofollow\" href=\"https:\/\/drive.google.com\/open?id=1z4aPdZoIxE3DOk9LxfPCg44H20wPH12q\">linket<\/a><\/noindex>.<br \/>\n<br \/>Kilde: <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.3 - 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\/da\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\udd47\u00c6ndring af programindstillinger med bevarelse af personlige parametre | ProHoster","description":"Baggrund I en medicinsk institution implementerede vi l\u00f8sninger baseret p\u00e5 PACS-servere fra Orthanc og DICOM-klienten Radiant.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/izmenenie-nastroek-programm-s-sohraneniem-personalnyh-parametrov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/31716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=31716"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/31716\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=31716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=31716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=31716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}