Я запускаю установку Windows Server 2012 внутри рабочей станции VMWare. У меня включены общие папки, поэтому диск Z:
сопоставлен \\vmware-host
. Я могу правильно получить доступ к этому диску в Проводнике (я могу получить доступ Z:
внутри "нормального" `cmd), и я могу правильно открывать файлы.
Я открыл PowerShell и попытался, cd Z:
и я получил следующую ошибку:
cd: невозможно найти путь 'Z: \', потому что он не существует.
Почему PowerShell не может найти уже подключенный сетевой диск?
Я немного погуглил и нашел New-PSDrive
команду. Я запустил следующее:
New-PSDrive -Name 'Z' -PSProvider FileSystem -Root 'Z:\'
но я все равно получаю ту же ошибку, что и выше. Что мне нужно сделать, чтобы получить доступ к общим папкам VMWare внутри PowerShell.
windows-server-2012
powershell
vmware-workstation
Ракета Хазмат
источник
источник
Get-PSDrive -PSProvider FileSystem
сообщает при открытии новой консоли Powershell?A
,C
иD
. В консоли у меня уже открыто, я тоже вижуZ
. Почему новая консоль не отображаетсяZ
?Set-ExecutionPolicy -ExecutionPolicy Unrestricted
. Я использую PowerShell, чтобы попытаться запустить скрипт для вызоваNew-ADUser
.Z:
без проблем.Ответы:
Вам необходимо сделать сопоставление дисков доступным для пользователя, с которым вы работаете
Powershell
. Вы можете сделать следующее, чтобы дать этому пользователю то же самое сопоставление диска:См. Следующий вопрос SO: Не удается получить доступ к сетевому диску в PowerShell с правами администратора.
источник
Вы запускаете эту консоль PowerShell от имени администратора или текущего пользователя?
Если вы используете его из командной строки без повышенных прав, он должен увидеть все ваши локально подключенные сетевые диски. Я сейчас нахожусь в той же ситуации, что и вы, и
x:
сопоставил ее\\vmware-host\[folder]
, и aGet-PSDrive -PSProvider FileSystem
показывает мне все мои локально сопоставленные диски.Однако , если я запускаю эту консоль от имени администратора, она не видит ни одного моего локального сопоставленного диска, поскольку для командной строки с повышенными привилегиями используется другой (второй) контекст безопасности для загрузки приложения, которое не разделяет сетевые подключения.
Хорошей новостью является то, что вам просто нужно подключить диск в консоли администратора только один раз, и он останется в этом контексте безопасности (я думаю, до перезагрузки).
Если вы хотите автоматизировать это, вы должны прочитать сценарии автоматической загрузки при запуске сеанса PowerShell. В основном, если вы создаете папку в
My Documents
вызываемойWindowsPowerShell
и внутри, которая создаетMicrosoft.PowerShell_profile.ps1
файл, она будет срабатывать каждый раз, когда вы запускаете новую консоль PowerShell. Там вы можете добавитьnet use
команду или добавить пользовательские функции, которые вы написали, которые вы хотите использовать.Например, у меня есть тот, который красит мой курсор для административных консолей, и имеет функцию, которую я могу легко вызвать, чтобы подписать мои сценарии PS1.
источник