Get-Childitem не может найти диск. Диск с именем «X» не существует

Я пишу скрипт для копирования файлов с помощью powershell с использованием подключенных дисков в проводнике. Он имеет вышеуказанное сообщение об ошибке. Вот как это выглядит:

function CopyFileToFolderUNC($SourcePath, $DestinationPath){
   $temp1 = Get-ChildItem -Path $SourcePath -Recurse -Force #this is the line of error message
   Copy-Item -Path $SourcePath -Destination $DestinationPath #source:\* -Destination target  #watch out for login boxes when test this
}

#start here
$tempSource = "X:\Credentialing\FORMS"
$ToLocation = "C:\Users\me\Documents\2018\powershellFiles\toLoc" 

CopyFileToFolderUNC $tempSource $ToLocation

У него такое же сообщение об ошибке в строке Copy-Item (если я закомментирую строку Get-ChildItem), но до этого он терпит неудачу в Get-ChildItem. Как мне заставить его использовать подключенный диск на компьютере, на котором запущен скрипт? Я запускаю это на ноутбуке.

Я установил-executionPolicy RemoteSigned в powershell в командной строке.

У меня есть это разрешение, когда я запускаю Get-PSSessionConfiguration в powershell в командной строке:

Разрешение: NT AUTHORITY\INTERACTIVE AccessAllowed, ВСТРОЕННЫЕ\Администраторы AccessAllowed, ВСТРОЕННЫЕ\Удаленное управление пользователями AccessAllowed

Я работаю от имени администратора. Приглашение Powershell:

[DBG]: PS C:\WINDOWS\system32>>

$PSVersionTable.PSVersion:

Major  Minor  Build  Revision
-----  -----  -----  -------- 
5      1      16299  666

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


person Michele    schedule 26.11.2018    source источник
comment
Это Подключенные диски недоступны из приглашения с повышенными привилегиями, когда UAC настроен на запрос учетных данных в Windows, вполне может быть причиной. Если вы называете свою функцию CopyFileToFolderUNC, то зачем указывать источник как локальный путь вместо пути UNC??   -  person Theo    schedule 26.11.2018


Ответы (1)


Я нашел это: Использование сети

Поэтому я добавил

if(-Not (Test-Path "X:\")) {net use X: \\NDRIVE01\Svcs_FG}

И теперь это, по крайней мере, поиск подключенного диска.

person Michele    schedule 26.11.2018
comment
но мой вопрос остается: почему бы не пойти по пути UNC в первую очередь??? - person Theo; 27.11.2018