usar tutorial script como commands comandos powershell

tutorial - Conexión a una carpeta de red con nombre de usuario/contraseña en Powershell



powershell tutorial (5)

A menudo accedo a carpetas de red compartidas en Powershell para tomar archivos, etc. Pero si el recurso compartido requiere un nombre de usuario / contraseña, Powershell no me solicita esto, a diferencia del Explorador de Windows. Si me conecto a la carpeta primero en Windows Explorer, Powershell me permitirá conectarme.

¿Cómo puedo autenticarme en Powershell?


A primera vista, uno realmente quiere usar New-PSDrive proporcionándole credenciales.

> New-PSDrive -Name P -PSProvider FileSystem -Root //server/share -Credential domain/user

¡Falla!

New-PSDrive : Cannot retrieve the dynamic parameters for the cmdlet. Dynamic parameters for NewDrive cannot be retrieved for the ''FileSystem'' provider. The provider does not support the use of credentials. Please perform the operation again without specifying credentials.

La documentación indica que puede proporcionar un objeto PSCredential, pero si mira más de cerca, el cmdlet aún no lo admite. Quizás en la próxima versión, supongo.

Por lo tanto, puede usar net use o el objeto WScript.Network, llamando a la función MapNetworkDrive :

$net = new-object -ComObject WScript.Network $net.MapNetworkDrive("u:", "//server/share", $false, "domain/user", "password")

Edite para New-PSDrive en PowerShell 3.0

Al parecer, con las versiones más nuevas de PowerShell, el cmdlet New-PSDrive funciona para asignar recursos compartidos de red con credenciales.

New-PSDrive -Name P -PSProvider FileSystem -Root //Server01/Public -Credential user/domain -Persist


En la misma máquina, pruebo el mismo comando NET USE desde un símbolo del sistema normal y desde un símbolo del sistema de PowerShell v2:

NET USE Enlace: SharePoint

In CMD funciona bien.

In PS , dice que funciona bien, y el disco está mapeado. Sin embargo, la mayoría del estado de la unidad como aparece cuando escribe simplemente NET USE está en blanco y la asignación de la unidad no funciona (es decir, no puede obtener datos de la unidad asignada).

Puede ser un problema de SharePoint ya que el NET USE de powershell a veces funciona, otras veces no, pero aún así parece que hay una diferencia entre CMD y PS.


Esta no es una respuesta específica de PowerShell, pero podría autenticarse contra el recurso compartido usando "NET USE" primero:

net use //server/share /user:<domain/username> <password>

Y luego haz lo que necesites hacer en PowerShell ...


Me gustaría compartir mi experiencia aquí.

A menudo uso la unidad de red para extraer información del servidor remoto. Si está utilizando Powershell 2.0 en el servidor remoto.

La mejor opción es usar el comando NET USE.

Net use //10.10.10.10/SharedDrive "password@123" /User:Abcd.com/username