ವೈಯಕ್ತಿಕ ನಿಯತಾಂಕಗಳನ್ನು ಉಳಿಸುವಾಗ ಪ್ರೋಗ್ರಾಂ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬದಲಾಯಿಸುವುದು

ಪೂರ್ವೇತಿಹಾಸದ

ಒಂದು ವೈದ್ಯಕೀಯ ಸಂಸ್ಥೆಯು Orthanc PACS ಸರ್ವರ್‌ಗಳು ಮತ್ತು ರೇಡಿಯಂಟ್ DICOM ಕ್ಲೈಂಟ್ ಅನ್ನು ಆಧರಿಸಿ ಪರಿಹಾರಗಳನ್ನು ಜಾರಿಗೊಳಿಸಿತು. ಸೆಟಪ್ ಸಮಯದಲ್ಲಿ, ಪ್ರತಿ DICOM ಕ್ಲೈಂಟ್ ಅನ್ನು PACS ಸರ್ವರ್‌ಗಳಲ್ಲಿ ಈ ಕೆಳಗಿನಂತೆ ವಿವರಿಸಬೇಕು ಎಂದು ನಾವು ಕಂಡುಕೊಂಡಿದ್ದೇವೆ:

  • ಕಕ್ಷಿದಾರನ ಹೆಸರು
  • ಎಇ ಹೆಸರು (ವಿಶಿಷ್ಟವಾಗಿರಬೇಕು)
  • ಕ್ಲೈಂಟ್ ಬದಿಯಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತೆರೆಯುವ ಮತ್ತು PACS ಸರ್ವರ್‌ನಿಂದ DICOM ಸಮೀಕ್ಷೆಗಳನ್ನು ಸ್ವೀಕರಿಸುವ TCP ಪೋರ್ಟ್ (ಅಂದರೆ, ಸರ್ವರ್ ಅವುಗಳನ್ನು ಕ್ಲೈಂಟ್ ಕಡೆಗೆ ತಳ್ಳುತ್ತದೆ - ಮೊದಲು ಸಂಪರ್ಕವನ್ನು ಪ್ರಾರಂಭಿಸುವುದು)
  • IP ವಿಳಾಸ

ರೇಡಿಯಂಟ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ಕ್ಲೈಂಟ್‌ಗಳು ಆಲೋಚನೆಗಾಗಿ ಈ ಕೆಳಗಿನ ಆಹಾರವನ್ನು ಸ್ವೀಕರಿಸಿದರು: ಪ್ರತಿ ಕ್ಲೈಂಟ್‌ಗೆ, ಮೇಲಿನ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಹೊಂದಿಸುವುದರಿಂದ ಫೈಲ್ ಭರ್ತಿಯಾಗುತ್ತದೆ pacs.xml, ಇದು ಬಳಕೆದಾರರ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿದೆ (ಮಾರ್ಗ: %APPDATA%RadiantViewerpacs.xml) ಅದೇ ಸಮಯದಲ್ಲಿ, ಒಂದು ಕ್ಲೈಂಟ್‌ನ ಸಂರಚನೆಯು ಕನಿಷ್ಠ ಎರಡು ನಿಯತಾಂಕಗಳಲ್ಲಿ ಇನ್ನೊಂದಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿದೆ (ಎಇ ಹೆಸರು ಎಲ್ಲರಿಗೂ ವಿಭಿನ್ನವಾಗಿದೆ, ಮತ್ತು ಪೋರ್ಟ್ ಮೂಲತಃ ಒಂದೇ ಆಗಿರುತ್ತದೆ, ಒಂದೇ ಸರ್ವರ್‌ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಟರ್ಮಿನಲ್ ಕ್ಲೈಂಟ್‌ಗಳನ್ನು ಹೊರತುಪಡಿಸಿ - ಅಲ್ಲಿ ಪೋರ್ಟ್‌ಗಳು ಸಹ ಹೊಂದಿದ್ದವು ವಿಭಿನ್ನವಾಗಿ ನಿಯೋಜಿಸಬೇಕು).

ಉದಾಹರಣೆಗೆ pacs.xml ಫೈಲ್ ಮೂಲಕ ಲಿಂಕ್:

ಸುಮಾರು ಆರು ತಿಂಗಳವರೆಗೆ ಎಲ್ಲವೂ ಸರಿಯಾಗಿತ್ತು, ಸಿಸ್ಟಮ್ ಕೆಲಸ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿತು ... ಮತ್ತು ನಂತರ ಅದು ನಮಗೆ ಬಂದಿತು "ನೀರೊಳಗಿನ ಕಲ್ಲುಗಳು»:

  • ನಾವು ಹಲವಾರು ಹೊಸ PACS ಸರ್ವರ್‌ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕಾಗಿದೆ, ಅದು ಹಳೆಯದನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ (ಡಿಸ್ಕ್ ಸ್ಥಳವು ಖಾಲಿಯಾಗಲು ಪ್ರಾರಂಭಿಸಿದೆ). ವರ್ಚುವಲ್ ಯಂತ್ರಗಳಲ್ಲಿ PACS ಸರ್ವರ್‌ಗಳು, ಆದರೆ ನಾವು ಮಾತನಾಡುತ್ತಿರುವುದು ಅಲ್ಲ;
  • ನಾವು 200 ಯಂತ್ರಗಳಲ್ಲಿ (ಅವುಗಳ ಸಂಖ್ಯೆಯು ನಿಯಮಿತವಾಗಿ ಹೆಚ್ಚುತ್ತಿದೆ) ಅನನ್ಯ ಸಂರಚನೆಗಳನ್ನು (ಎರಡು ವಿಭಿನ್ನ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ) ಹೇಗಾದರೂ ಕೇಂದ್ರೀಯವಾಗಿ ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ;
  • ಸಮೀಕ್ಷೆಯ ಸಂಪುಟಗಳ ಬೆಳವಣಿಗೆಯ ದರವನ್ನು ಪರಿಗಣಿಸಿ, ಪರಿಹಾರವು ಕೇವಲ ಒಮ್ಮೆ ಅಲ್ಲ, ಆದರೆ ಪುನರಾವರ್ತನೆ ಮತ್ತು ನಿಯಮಿತವಾಗಿ (ಉದಾಹರಣೆಗೆ, ಪ್ರತಿ 1-3 ತಿಂಗಳಿಗೊಮ್ಮೆ) ಅಗತ್ಯವಿದೆ.

ಪರಿಹಾರವು ಕೆಳಗೆ ಇದೆ.

ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ಪರಿಕರಗಳ ಆಯ್ಕೆ

ಮೊದಲಿಗೆ, ಕ್ಲೈಂಟ್ ಬದಿಯಲ್ಲಿ pacs.xml ಫೈಲ್ ಅನ್ನು ಮಾರ್ಪಡಿಸುವ ಮತ್ತು AE ಹೆಸರು ಮತ್ತು TCP ಪೋರ್ಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬಾಧಿಸದೆ PACS ಸರ್ವರ್‌ಗಳ ಪಟ್ಟಿಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುವ ಕೆಲವು ಪರಿಹಾರಗಳನ್ನು ಹುಡುಕುವ ಪ್ರಯತ್ನಗಳು ನಡೆದವು. ಆ ಸಮಯದಲ್ಲಿ ವಿಂಡೋಸ್ ಕ್ಲೈಂಟ್‌ಗಳು ವಿಂಡೋಸ್ XP ಮತ್ತು ವಿಂಡೋಸ್ 7 ಎರಡನ್ನೂ ಆಧರಿಸಿವೆ - ಆದ್ದರಿಂದ VBScript ಅನ್ನು ಆಧರಿಸಿ ಈ ರೀತಿಯದನ್ನು ಬರೆಯುವ ಪ್ರಯತ್ನಗಳು ನಡೆದವು. ಆದರೆ ಅಯ್ಯೋ, ಈ ಭಾಷೆಯಲ್ಲಿ ಸಂಕೀರ್ಣ ಮತ್ತು ಸಮಗ್ರವಾದ ಯಾವುದನ್ನಾದರೂ ಬರೆಯುವಲ್ಲಿ ಸಂಪೂರ್ಣ ಅನುಭವದ ಕೊರತೆಯಿಂದಾಗಿ ಅಂತಹ ಕೆಲಸವನ್ನು ಕರಗತ ಮಾಡಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಹುಡುಕುವ ಮತ್ತು ಪುನಃ ಬರೆಯುವ ಪ್ರಯತ್ನಗಳು ಸಹ ವಿಫಲವಾಗಿವೆ (ನನ್ನ ತಲೆಯಲ್ಲಿ ನಾನು ಈಗಾಗಲೇ ವಿಭಿನ್ನ ಯೋಜನೆಯನ್ನು ಹೊಂದಿದ್ದೇನೆ ಎಂದು ಗಮನಿಸಬೇಕು, ಆದ್ದರಿಂದ ನಾನು 3-4 ಗಂಟೆಗಳಿಗಿಂತ ಹೆಚ್ಚು ಕಾಲ VBScript ಅನ್ನು ಪಿಟೀಲು ಮಾಡಲಿಲ್ಲ).

ಕೊನೆಯಲ್ಲಿ ನಾನು ಈ ಕೆಳಗಿನ ಪರಿಹಾರವನ್ನು ನಿರ್ಧರಿಸಿದೆ:

  • ಗುಂಪು ನೀತಿಯನ್ನು ಬಳಸಿಕೊಂಡು, ನೆಟ್‌ವರ್ಕ್ ಸಂಪನ್ಮೂಲದಲ್ಲಿ ಯಾವುದೇ ಸರ್ವರ್‌ನಲ್ಲಿ ಎಲ್ಲಾ pacs.xml ಫೈಲ್‌ಗಳನ್ನು ಒಂದೇ ಸ್ಥಳದಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ;
  • ಫೈಲ್ಗಳನ್ನು ಸಾಮೂಹಿಕವಾಗಿ ಬದಲಾಯಿಸಿ (ಪರ್ಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಅಂತಹ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುವಲ್ಲಿ ನನಗೆ ಈಗಾಗಲೇ ಅನುಭವವಿದೆ);
  • ಕ್ಲೈಂಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನವೀಕರಿಸಲು ಗುಂಪು ನೀತಿಗಳನ್ನು ಸಹ ಬಳಸಿ.

ಗುಂಪು ನೀತಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಫೈಲ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು

ಸರಳವಾದ ಭಾಗವೆಂದರೆ ಕ್ಲೈಂಟ್ ತನ್ನ ಪ್ರೊಫೈಲ್‌ಗೆ ಲಾಗ್ ಮಾಡಿದಾಗ, ಅವನು ತನ್ನ ಹಕ್ಕುಗಳೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟ .bat ಫೈಲ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತಾನೆ, ಅದು ಹೇಳುತ್ತದೆ:

echo off
If exist %APPDATA%RadiantViewerpacs.xml copy %APPDATA%RadiantViewerpacs.xml srv.test.localpconfigs$pacs-%COMPUTERNAME%-%USERNAME%.xml

ಹೀಗಾಗಿ, pacs.xml ಫೈಲ್‌ಗಳು ಸರ್ವರ್‌ನಲ್ಲಿ ಗುಪ್ತ ಸಂಪನ್ಮೂಲದಲ್ಲಿ ಸಂಗ್ರಹಗೊಳ್ಳುತ್ತವೆ, ಅದರ ಹೆಸರು ಯಾವ ಕಂಪ್ಯೂಟರ್‌ನಿಂದ ಮತ್ತು ಯಾವ ಬಳಕೆದಾರರಿಂದ ಈ ಸಂರಚನೆಯನ್ನು ನಕಲಿಸಲಾಗಿದೆ ಎಂಬ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ.

ಈ ನೀತಿಯು ಎಲ್ಲಾ ಬಳಕೆದಾರರಿಗೆ ಕೆಲಸ ಮಾಡುವವರೆಗೆ ಕಾಯುವುದು ಅತ್ಯಂತ ಕಷ್ಟಕರವಾದ ವಿಷಯವಾಗಿದೆ.

ಪರ್ಲ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ಬದಲಾಯಿಸುವುದು

ನಮಗೆ ಬೇಕಾಗುತ್ತದೆ ಸಕ್ರಿಯ ಪರ್ಲ್ ಆಕ್ಟಿವ್‌ಸ್ಟೇಟ್‌ನಿಂದ ವಿಂಡೋಸ್‌ಗಾಗಿ, ಹಾಗೆಯೇ XML:: ರೈಟರ್ ಮಾಡ್ಯೂಲ್, ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ಥಾಪಿಸಬಹುದು ppm XML-Writer ಅನ್ನು ಸ್ಥಾಪಿಸಿ.

ಸ್ಕ್ರಿಪ್ಟ್ ಸ್ವತಃ ತುಂಬಾ ಸರಳವಾಗಿದೆ:

use XML::Writer;
 
# Открываем папку с отчетами, обрабатываем ссписок (удаляем лишнее):
	$report_dir = "C:Perl64WORKPACS-xml3";
	opendir(DIR, "$report_dir") or die "Не могу открыть папку с отчетами!";
	@report_files = readdir DIR;
	shift (@report_files); # удаляем точку из элементов массива (.)
	shift (@report_files); # удаляем две точки из элементов массива (..)
#	print "@report_files";
	closedir(DIR);
 
# Начинаем обрабатывать файлы - по одному за раз. Нужно считать параметр AET и номер порта в переменные.
foreach $analiz_file (@report_files) 
{
	$full_path_to_file="C:Perl64WORKPACS-xml3".$analiz_file;
	open (INFO, $full_path_to_file);
 
	while ($line = <INFO>)
	{
		# Переменные $aet и $port содержат уникальные данные для каждого XML файла:
		my ($other1, $aet, $other2, $port, $other3) = split /"/, $line, 5;
		# Если встречается строка listener - то мы дошли до нужной строчки и можно формировать новый XML:
		if ($other1 =~ 'listener')
			{
				# Формируем новый XML c нужными полями и данными:
				my $writer = XML::Writer->new(OUTPUT => 'self', DATA_MODE => 1, DATA_INDENT => 2, );
				$writer->xmlDecl('utf-8');
				$writer->startTag('pacs');
				$writer->startTag('listener', ae => $aet, port => $port);
				$writer->endTag();
				$writer->startTag('hosts');
				$writer->startTag('host', name => 'MRT', ae => 'ORTHANC', ip => 'XX.YY.214.17', ts => '1.2.840.10008.1.2.1', port => '4242', maxassoc => '1', allpres => '0', search => '1', protocol => '1', searchcharset => '', wildcards => '3', carets => '0');
				$writer->endTag();
				$writer->startTag('host', name => 'KT', ae => 'ORTHANC2', ip => 'XX.YY.215.253', ts => '1.2.840.10008.1.2.1', port => '4242', maxassoc => '1', allpres => '0', search => '1', protocol => '1', searchcharset => '', wildcards => '3', carets => '0');
				$writer->endTag();
				$writer->startTag('host', name => 'R', ae => 'ORTHANC3', ip => 'XX.YY.215.252', ts => '1.2.840.10008.1.2.1', port => '4242', maxassoc => '1', allpres => '0', search => '1', protocol => '1', searchcharset => '', wildcards => '3', carets => '0');
				$writer->endTag();
				$writer->startTag('host', name => 'KT-20180501-20180831', ae => 'ORTHANC4', ip => 'XX.YY.215.251', ts => '1.2.840.10008.1.2.1', port => '4242', maxassoc => '1', allpres => '0', search => '1', protocol => '1', searchcharset => '', wildcards => '3', carets => '0');
				$writer->endTag();
				$writer->startTag('host', name => 'KT-20180901-20181130', ae => 'ORTHANC5', ip => 'XX.YY.215.250', ts => '1.2.840.10008.1.2.1', port => '4242', maxassoc => '1', allpres => '0', search => '1', protocol => '1', searchcharset => '', wildcards => '3', carets => '0');
				$writer->endTag();
				$writer->endTag('hosts');
				$writer->startTag('presets');
				$writer->endTag();
				$writer->startTag('lastsearch', dt => '4', mfid => '1048592');
				$writer->endTag();
				$writer->endTag('pacs');
 
				# Помещаем готовый XML в переменную:
				my $xml = $writer->end();
				# Подготавливаем файл для перезаписи:
				$rewritexml = $full_path_to_file;
				# Переписываем XML файлы новыми данными:
				open (NEWXML, ">$rewritexml");
				print NEWXML $xml;
				close (NEWXML);				
			}
	}
 
}

ಅದರ ಕಾರ್ಯಾಚರಣೆಯ ತತ್ವ:

  • ನಾವು ಕ್ಲೈಂಟ್‌ಗಳಿಂದ pacs.xml ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸಿದ ಡೈರೆಕ್ಟರಿಯನ್ನು ತೆರೆಯುತ್ತೇವೆ ಮತ್ತು ಫೈಲ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಸ್ಕೇಲರ್‌ಗಳ ಶ್ರೇಣಿಯಲ್ಲಿ ಇರಿಸುತ್ತೇವೆ (@report_files);
  • ಒಂದು ಲೂಪ್ನಲ್ಲಿ, ನಾವು ಒಂದು ಫೈಲ್ ಅನ್ನು ಒಂದು ಸಮಯದಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ಸಾಲಿನ ಮೂಲಕ ಓದುತ್ತೇವೆ;
  • ವಿಭಜನೆಯನ್ನು ಬಳಸಿ, ನಾವು ಪ್ರತಿ ಸಾಲನ್ನು 5 ಭಾಗಗಳಾಗಿ ವಿಭಜಿಸುತ್ತೇವೆ, ವಿಭಜಕವಾಗಿ ಉಲ್ಲೇಖಗಳನ್ನು ಬಳಸುತ್ತೇವೆ;
  • ನಾವು ಕೇಳುಗ ಪದದೊಂದಿಗೆ ಒಂದು ಸಾಲನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತೇವೆ ಮತ್ತು ಪ್ರತಿ ಫೈಲ್‌ಗೆ (AE ಕ್ಲೈಂಟ್ ಹೆಸರು ಮತ್ತು TCP ಪೋರ್ಟ್ ಸಂಖ್ಯೆ) ಎರಡು ವೇರಿಯಬಲ್‌ಗಳಲ್ಲಿ ಡೇಟಾವನ್ನು ಅನನ್ಯವಾಗಿ ಇರಿಸುತ್ತೇವೆ;
  • ಇದರ ನಂತರ, ನಾವು ಸರಳವಾಗಿ ಹೊಸ XML ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ, ಅದರಲ್ಲಿ ಅನನ್ಯ ನಿಯತಾಂಕಗಳನ್ನು ನಮೂದಿಸಿ ಮತ್ತು ನಂತರ ಅಗತ್ಯವಿರುವ ಸಂಖ್ಯೆಯ PACS ಸರ್ವರ್‌ಗಳನ್ನು ಅವುಗಳ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ ಸೇರಿಸಿ - ಆ. ಅದು ಯಾವುದಕ್ಕಾಗಿ ಪ್ರಾರಂಭವಾಯಿತು)
  • ನಾವು ಹೊಸ XML ಫೈಲ್ ಅನ್ನು ಹಳೆಯದರ ಮೇಲೆ ಪುನಃ ಬರೆಯುತ್ತೇವೆ.

ವಾಸ್ತವವಾಗಿ, ನಾನು ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬಳಸುವುದಿಲ್ಲ ಎಂದು ಗಮನಿಸಬೇಕು - ವಾಸ್ತವವಾಗಿ, ನಾನು ಸಂಗ್ರಹಿಸಿದ ಸಂರಚನೆಗಳನ್ನು ಪ್ರತ್ಯೇಕ ಡೈರೆಕ್ಟರಿಗೆ ನಕಲಿಸುತ್ತೇನೆ ಮತ್ತು ನಂತರ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರನ್ ಮಾಡಿ ಮತ್ತು ಎಲ್ಲವನ್ನೂ ಸಾಮೂಹಿಕವಾಗಿ ಬದಲಾಯಿಸುತ್ತೇನೆ. ಮುಂದೆ, ಯಾದೃಚ್ಛಿಕ ಪರಿಶೀಲನೆ - ಮತ್ತು ಸಂರಚನೆಗಳನ್ನು ಯಂತ್ರಗಳಿಗೆ ಮತ್ತೆ ವಿತರಿಸಬಹುದು.

ಕ್ಲೈಂಟ್‌ಗಳಿಗೆ ಮಾರ್ಪಡಿಸಿದ pacs.xml ಫೈಲ್‌ಗಳನ್ನು ವಿತರಿಸಲಾಗುತ್ತಿದೆ

ಕ್ಲೈಂಟ್‌ಗಳಿಂದ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ಮತ್ತು ಸಾಲನ್ನು ಸೇರಿಸುವ ಈಗಾಗಲೇ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರುವ .bat ಫೈಲ್‌ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುವುದು ಮನಸ್ಸಿಗೆ ಬಂದ ಸರಳವಾದ ವಿಷಯವಾಗಿದೆ:

If exist %APPDATA%RadiantViewerpacs.xml copy /Y srv.test.localpconfigsnew$pacs-%COMPUTERNAME%-%USERNAME%.xml %APPDATA%RadiantViewerpacs.xml

ಅಂತಿಮ .bat ಫೈಲ್ ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

@echo off
If exist %APPDATA%RadiantViewerpacs.xml copy %APPDATA%RadiantViewerpacs.xml srv.test.localpconfigs$pacs-%COMPUTERNAME%-%USERNAME%.xml
If exist %APPDATA%RadiantViewerpacs.xml copy /Y srv.test.localpconfigsnew$pacs-%COMPUTERNAME%-%USERNAME%.xml %APPDATA%RadiantViewerpacs.xml

ತೀರ್ಮಾನಕ್ಕೆ

ಇದು ಹೀಗಿದೆ"ಮೊಣಕಾಲು"ಪರಿಹಾರ. ನಾವು ಈಗಾಗಲೇ ಎರಡು ಬಾರಿ ಪ್ರಯತ್ನಿಸಿದ್ದೇವೆ (ಸೆಪ್ಟೆಂಬರ್ 2018 ಮತ್ತು ಫೆಬ್ರವರಿ 2019 ರಲ್ಲಿ), ಇಲ್ಲಿಯವರೆಗೆ ವಿಮಾನವು ಸಾಮಾನ್ಯವಾಗಿದೆ. ಸಹಜವಾಗಿ, 100% ಕ್ಲೈಂಟ್‌ಗಳು ನವೀಕರಿಸುವುದಿಲ್ಲ, ಆದರೆ ಇದು ಈ ಮೌಲ್ಯಕ್ಕೆ ಹತ್ತಿರದಲ್ಲಿದೆ - ನಾವು ಉಳಿದದ್ದನ್ನು ದೂರದಿಂದಲೇ ಪೂರ್ಣಗೊಳಿಸುತ್ತೇವೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಮೂಲಕ ಲಿಂಕ್.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ