la unidad asignada con el sistema de PowerShell no es accesible desde el Explorador de archivos

1

Estoy tratando de asignar una unidad a otro servidor usando una cuenta de "sistema" en powershell. Tengo éxito, pero solo se puede acceder al servidor si se ha iniciado sesión como sistema, pero no como administrador o usuario habitual.

Si lo mapeo usando un administrador powershell o dos shell de comandos, entonces está disponible para todos. Desafortunadamente no puedo hacer eso porque estoy usando la función SendCommand de Amazon Web Service (AWS) para hacer el mapeo y solo usa el nivel de sistema powershell. Incluso si pongo el comando de mapeo dentro de un archivo por lotes y lo ejecuto, la unidad asignada solo está disponible para el usuario del sistema powershell.

Este es un ejemplo de los dos comandos que se envían a través de AWS SendCommand:

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

El archivo por lotes hace un comando de uso de red como este:

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

¿Hay alguna manera de tener un disco asignado por un powershell a nivel del sistema para que esté disponible para todos los usuarios?

También probé el siguiente método desde un nivel de sistema powershell pero obtuve el mismo 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

Después de hacer esto, la unidad D: estaba disponible desde el nivel de sistema powershell, pero no desde un shell de comandos de DOS o nivel de administrador powershell

También intenté:

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

Obtuvo el mismo resultado. En todos los intentos, lo que se muestra en el Explorador de archivos es "Unidad de red desconectada (D :)" y si hago clic en él, aparece una ventana emergente que dice "D: \ no es accesible. El nombre de usuario o la contraseña son incorrectos".

tekknow
fuente
Cuando usas New-PSDrive, has intentado agregar -Scope Global?
root
Solo intentado y ahora dice: "New-PSDrive: una sesión de inicio de sesión especificada no existe. Es posible que ya haya finalizado"
tekknow
Ya había hecho: uso neto D: / BORRAR
tekknow
Pude deshacerme de New-PSDrive usando: Remove-PSDrive -Name D. Luego podría agregarlo nuevamente con la opción -Scope Global. Lamentablemente, el mismo resultado.
tekknow

Respuestas:

1

¿Hay alguna manera de tener un disco asignado por un powershell a nivel del sistema para que esté disponible para todos los usuarios? No.

Nuevo-PSDrive

Las unidades de red asignadas son específicas de una cuenta de usuario. Unidades de red asignadas que crea en sesiones que se inician utilizando   la Ejecutar como administrador opción o usando la credencial de   otro usuario no son visibles en una sesión que se inició   sin credenciales explícitas, o utilizando las credenciales de la   usuario actual.

Por cierto, puede encontrarse con colisiones de letras de unidad asignando una letra de unidad asignada a D ...

A y B están típicamente reservados para las unidades de disquete del siglo pasado,   y C y D se suelen reservar para el disco duro y la unidad óptica,   por lo que el lector de tarjetas utilizará E, F, G y H.

JosefZ
fuente
Le daré crédito por la respuesta, incluso si no creo que no haya una manera de hacerlo. Se supone que el usuario del SISTEMA puede hacer cualquier cosa. La forma en que lo resolví fue colocar el comando "uso neto" en un archivo por lotes y colocarlo en la carpeta de inicio de Windows. Luego hizo un reinicio para que se ejecute.
tekknow
@tekknow mapear unidades particulares a recursos compartidos particulares es una tarea típica para un script de inicio de sesión . Podría configurar un script de inicio de sesión de este tipo fácilmente en un entorno de Active Directory. Sin embargo, hay una manera de hacerlo en un entorno de grupo de trabajo o incluso en una red de igual a igual. Google para windows logon script; Por favor haga otra pregunta en dudas.
JosefZ