Я пытаюсь создать ярлык в Powershell с одного сервера на другой

#powershell #new-item

Вопрос:

 $PrivateDrive = "Sharedrivepath1"
$ScanDrive = "ScanDrivePath2"

New-Item -Itemtype SymbolicLink -Path $PrivateDrive -Name ScanDrive -Value $ScanDrive
 

Я пытаюсь создать ярлык из ScanDrive в PrivateDrive, у меня есть полный путь к файлам и доступ к обоим местоположениям.

Они оба существуют.

Но я получаю ошибку «Новый элемент : Символические ссылки не поддерживаются для указанного пути».

ИЗМЕНИТЬ: Вот как я объявляю свои Личные и Сканируемые диски

 $SamaccountName = ($name).Givenname   '.'   ($name.Surname)
$PrivateDrive = '\SERVER1privatehome folders'   $SamaccountName
$ScanDrive = "\SERVER2Shares_2"   $SamaccountName
 

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

1. Покажите нам, как именно вы определяете $PrivateDrive и $ScanDrive . В PowerShell версии => 6.2 целью символической ссылки может быть относительный путь. До PowerShell версии 6.2 целью должен быть полный путь .

2. @Theo Я добавил это внизу, я не могу понять, как выложить это как обычно в комментариях

3. В вашем пути для $PrivateDrive есть пробел, вокруг которого вам нужно использовать кавычки при вызове New-Item командлета. КСТАТИ. Вы уверены, что имена учетных записей пользователей указаны в форме ? GivenName.Surname Имя Samaccount должно содержать не более 20 символов..

4. @Theo это все еще выдает мне ту же ошибку: «Новый элемент: Символические ссылки не поддерживаются для указанного пути», и да, это имя учетной записи, это стандарт, установленный моим местоположением, и я должен его использовать.

5. Можете ли вы сделать это с помощью mklink.exe из консоли PowerShell (запуск от имени администратора)? mklink /d "$PrivateDrive" "$ScanDrive" . Какую версию PowerShell вы используете?

Ответ №1:

Сообщение об ошибке-это сообщение PowerShell в ответ на базовую CreateSymbolicLink() функцию WinAPI, сообщающую код ошибки 1 ( INVALID_FUNCTION ).

Есть две возможные причины, о которых я знаю:

  • Проблема с конфигурацией: оценка символической ссылки R2R (от удаленного к удаленному) отключена (что по умолчанию верно.
    • Чтобы запросить текущую конфигурацию, выполните следующие действия:
       fsutil behavior get SymLinkEvaluation
       
    • Чтобы изменить конфигурацию, вы должны позвонить из сеанса с повышенными правами (запуск от имени администратора). Следующее позволяет оценить символическую ссылку R2R:
       # Requires an ELEVATED session.
      fsutil behavior set SymLinkEvaluation R2R:1
       
  • (Менее вероятно) Фундаментальное ограничение:
    • Путь к удаленной ссылке (целевой путь тоже?) не доступен ни для одной из следующих технологий, которые перечислены как поддерживаемые в связанном разделе справки WinAPI:
      • Протокол блока сообщений сервера (SMB) 3.0
      • Прозрачная отработка отказа SMB 3.0 (TFO)
      • Устойчивая файловая система (ссылки)

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

1. Я попытался изменить оценку системной ссылки R2R, и это ничего не изменило. Я знаю, вы сказали, что это Менее вероятно, но как я могу это проверить? @mklement0

2. @Fluffarmy223, к сожалению, я не знаю — возможно, вы можете спросить того, кто управляет сетевыми дисками.