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

#powershell #file #copying

#powershell #файл #копирование

Вопрос:

Я пытаюсь скопировать файл конфигурации в Appdata Local area, чтобы он устанавливал настройки профиля программного обеспечения по умолчанию для каждого пользователя на рабочей станции. Я пытаюсь сделать сценарий универсальным, чтобы он работал на нескольких рабочих станциях. Папка, в которую я копирую, отличается для каждой рабочей станции. На каждой рабочей станции имя будет одинаковым вплоть до уникального кода в конце. Смотрите пример кода ниже для получения подробной информации.

По какой-то причине я не могу найти правильный тег powershell для копирования всем пользователям, когда я использую *, он возвращает ошибку недопустимых символов. Я также не могу разработать способ настройки его копирования в согласованную именованную папку с ее уникальным тегом в конце. (Тег в конце необходим для работы программного обеспечения.)

 $Source = 'd:ArcProInstallMediauser.config' 
$Destination = 'c:users*appdatalocalesriArcGisPro_StrongName_UNIQUE CODE NUMBER HERE 2.3.0.0'

Copy-Item -Path $Source -Destination $Destination -Force
  

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

Комментарии:

1. Вы можете использовать подстановочные знаки в исходном пути, но не в пути назначения.

Ответ №1:

Вы можете получить путь с подстановочным знаком с помощью Get-ChildItem

 $Destination = Get-ChildItem -Path c:users*appdatalocalesriArcGisPro_StrongName_*2.3.0.0
  

Комментарии:

1. Спасибо! Такое простое исправление поставило меня в тупик на несколько часов