1 (изменено: janxp, 2024-05-19 13:09:32)

Тема: JS: Закрепление на начальном экране не работает в Windows 10 21h2

Привет всем. Есть скрипт на js, закрепляющий несколько приложений на начальном экране. В сборке 1809 проблем не возникало, но на 21h2 при выполнении пункта меню посредством DoIt появляется ошибка 800a0046 - разрешение отклонено. В чем проблема? Запускаю от администратора, использование DCOM разрешено.

function PinToStart(targetfile, lnkname) {
	if (!objFSO.FileExists(WshShell.ExpandEnvironmentStrings(targetfile))) return false;
	var lnkfile = objProgFolder.Self.Path + '\\' + lnkname + '.lnk';
	if (!objFSO.FileExists(WshShell.ExpandEnvironmentStrings(lnkfile))) return false;
	var objFolderItem = objProgFolder.ParseName(lnkname + '.lnk');
	var colVerbs = objFolderItem.Verbs();
	for (var i=0; i<colVerbs.count; i++)
		if (~colVerbs.Item(i).name.toLowerCase().replace('&','').indexOf("закрепить на началь"))
			colVerbs.Item(i).DoIt(); // <- ошибка
	return getPinned(lnkfile);
};

Уточнение. Скрипт на некоторых компьютерах запускается, на некоторых - блокируется. Вне зависимости от сборки системы. Что-то с разрешениями запуска методов COM, вроде.