Добавление личной папки с шаблонами для офиса с использованием powershell и activesetup - PullRequest
0 голосов
/ 28 марта 2020

Я снова придумал странную ситуацию снова. Это новая организация для меня, и они пытаются управлять всем с помощью развертывания SCCM. Они не хотят управлять какими-либо функциями приложения через GPO, и вот как я нахожусь в этой ситуации.

Я знаю, что это можно сделать просто с помощью MSI, но созданный вручную MSI терпит неудачу из-за политики цифровой подписи, и я У меня не было выбора, кроме как сделать это через Powershell.

Я создал ключ ActiveSetup и мою команду stubpath ниже.

Примечание: для тех, кто не знает, что такое активная настройка: Это все равно, что запустить один раз, но выполняется, даже когда новый пользователь входит в систему. Что бы ни выполнялась команда, указанная в stubpath.

Мне просто нужны какие-то средства, хотя я могу достичь ниже.

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -NoProfile -executionpolicy ByPass -command $personal = $(get-itemproperty 'HKCU:Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders').personal;$personal = $personal + '\Custom Office Templates';Reg ADD `"HKCU\Software\Microsoft\Office\16.0\Word\Options`" /v `"PersonalTemplates`" /d $personal /t REG_SZ /f;


, но это не добавляет реестр должным образом ..

при изменении запроса reg к приведенному ниже (вместо запроса reg я использовал переменные оболочки)

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -NoLogo -NoProfile -executionpolicy ByPass -command $personal = $env:USERPROFILE; $personal = $personal + "\Documents\Custom Office Templates"; Reg ADD "HKCU\Software\Microsoft\Office\16.0\Word\Options" /v "PersonalTemplates" /d $personal /t REG_SZ /f;

это происходит со следующей ошибкой.

At line:1 char:73
+ ... rsonal; $personal = $env:USERPROFILE; $personal = $personal + \Docume ...
+                                                                  ~
You must provide a value expression following the '+' operator.
At line:1 char:74
+ ... = $env:USERPROFILE; $personal = $personal + \Documents\Custom Office  ...
+                                                 ~~~~~~~~~~~~~~~~~
Unexpected token '\Documents\Custom' in expression or statement.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordEx
   ception
    + FullyQualifiedErrorId : ExpectedValueExpression

и то же самое имеет место, даже если я использую [Environment] :: getenvironmentvariable ("Userprofile")

Первая из них работает как exp Вызывается, когда я выполняю через команду запуска или через оболочку и любым другим способом и не работаю только через активную настройку.

Переменные оболочки (переменные среды) работают только при запуске через консоль.

После Два дня пытаясь это сделать, я просто исчерпал свои возможности и, наконец, решил спросить кого-нибудь, может ли быть какой-то другой способ !? или что-то еще может быть не так или не думать!?

любой другой лучший подход, такой как команда CMD, также высоко ценится. (дело в том, что это должен быть один вкладыш, чтобы вписаться в один реестр)

они не хотят хранить скрипт локально и выполнять, так как есть некоторые инструменты безопасности, которые могут блокировать файлы скриптов и это долгий процесс получения исключения

...