Estou executando uma instalação do Windows Server 2012 na VMWare Workstation. Eu tenho pastas compartilhadas ativadas, portanto, a unidade Z:
é mapeada para \\vmware-host
. Posso acessar corretamente esta unidade no Explorer (posso acessar Z:
dentro do cmd "normal") e posso abrir arquivos corretamente.
Abri o PowerShell e tentei cd Z:
e obtive o seguinte erro:
cd: Não foi possível encontrar o caminho 'Z: \' porque ele não existe.
Por que o PowerShell não consegue encontrar a unidade de rede já mapeada?
Pesquisei um pouco no Google e encontrei o New-PSDrive
comando. Eu executei o seguinte:
New-PSDrive -Name 'Z' -PSProvider FileSystem -Root 'Z:\'
mas ainda recebo o mesmo erro acima. O que preciso fazer para acessar as pastas compartilhadas do VMWare no PowerShell.
windows-server-2012
powershell
vmware-workstation
Foguete Hazmat
fonte
fonte
Get-PSDrive -PSProvider FileSystem
relatado quando você abre um novo console do Powershell?A
,C
eD
. No console eu já tenho aberto, eu também vejoZ
. Por que o novo console não apareceZ
?Set-ExecutionPolicy -ExecutionPolicy Unrestricted
. Estou usando o PowerShell para tentar executar um script para chamarNew-ADUser
.Z:
sem problemas.Respostas:
Você precisa disponibilizar o mapeamento da unidade para o usuário em que está executando
Powershell
. Você pode fazer o seguinte para fornecer ao usuário o mesmo mapeamento de unidade:Consulte a seguinte pergunta do SO: Não é possível acessar a unidade de rede no PowerShell executando como administrador
fonte
Você está iniciando este console do PowerShell como administrador ou como usuário atual?
Se você o estiver executando em um prompt de comando não elevado, ele deverá ver todas as suas unidades de rede mapeadas localmente. Estou na mesma situação que você agora e
x:
mapeou\\vmware-host\[folder]
, e umGet-PSDrive -PSProvider FileSystem
me mostra todas as minhas unidades mapeadas localmente.No entanto , se eu iniciar esse console como administrador, ele não verá nenhuma unidade mapeada local, pois para um prompt de comando elevado, um (segundo) contexto de segurança diferente é usado para carregar o aplicativo, que não compartilha conexões de rede.
A boa notícia é que você basicamente precisa mapear a unidade no console do administrador apenas uma vez e ela permanecerá nesse contexto de segurança (até a reinicialização, eu acho).
Se você deseja automatizar isso, leia os scripts de carregamento automático ao iniciar uma sessão do PowerShell. Basicamente, se você criar uma pasta no seu
My Documents
chamadoWindowsPowerShell
e dentro dele, criar umMicrosoft.PowerShell_profile.ps1
arquivo, ele será acionado toda vez que você iniciar um novo console do PowerShell. Lá, você pode adicionar umnet use
comando ou adicionar funções personalizadas que você escreveu que deseja usar.Por exemplo, eu tenho um que torna meu cursor vermelho para consoles administrativos e tem uma função que eu posso chamar facilmente para assinar meus scripts PS1.
fonte