unidade mapeada com o powershell de nível de sistema não acessível a partir do File Explorer

1

Estou tentando mapear uma unidade para outro servidor usando uma conta de "sistema" no powershell. Eu tenho sucesso, mas o servidor só é acessível se estiver logado como sistema, mas não como administrador ou usuário regular.

Se eu mapeá-lo usando um powershell de administrador ou um shell de comando, ele estará disponível para todos. Infelizmente, não posso fazer isso porque estou usando o recurso SendCommand do Amazon Web Service (AWS) para fazer o mapeamento e ele usa somente o powershell de nível de sistema. Mesmo se eu colocar o comando mapping dentro de um arquivo em lote e tê-lo executado, a unidade mapeada ainda estará disponível apenas para o usuário do sistema powershell.

Aqui está um exemplo dos dois comandos enviados por meio do AWS SendCommand:

cd "C:/Program Files/Enventive/EnCOM Listener 1.0/lib/"
start-process "cmd.exe" "/c MapNetworkDrive 172.31.26.59"

O arquivo em lote faz um comando net use assim:

net use D: \%1\Company /USER:Administrator /PERSISTENT:YES "<password>"

Existe alguma maneira de ter uma unidade mapeada por um PowerShell de nível de sistema disponível para todos os usuários?

Eu também tentei o seguinte método dentro de um powershell de nível de sistema, mas obtive o mesmo resultado:

$user = "Administrator"
$pass = ConvertTo-SecureString -String '<password>' -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$pass
New-PSDrive -Name D -PSProvider FileSystem -Root \172.31.26.59\Company -Credential $cred -Persist

Depois de fazer isso, a unidade D: estava disponível dentro do powershell de nível de sistema, mas não de um shell de comando do DOS ou PowerShell de nível de administrador

Eu também tentei:

$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("D:", "\172.31.26.59\Company", $false, "Administrator", '<password>')

Obtive o mesmo resultado. Em todas as tentativas, o que aparece no File Explorer é "Unidade de Rede Desconectada (D :)" e se eu clicar nela, um popup diz "D: \ não está acessível. O nome de usuário ou senha está incorreto".

    
por tekknow 03.05.2018 / 17:52

1 resposta

1

Existe alguma maneira de ter uma unidade mapeada por um PowerShell de nível de sistema disponível para todos os usuários? Não.

New-PSDrive

Mapped network drives are specific to a user account. Mapped network drives that you create in sessions that are started by using the Run as administrator option or by using the credential of another user are not visible in a session that was started without explicit credentials, or by using the credentials of the current user.

A propósito, você pode executar colisões de letra de unidade atribuindo uma letra de unidade mapeada a D

A and B are typically reserved for the floppy drives of last century, and C and D are usually reserved for the hard drive and optical drive, so the card reader will use E, F, G, and H.

    
por 04.05.2018 / 00:41