2009-02-18 13 views
5

Quiero ser capaz de conectarse a un disco duro de red (wifi) desde mi computadora portátil, pero solo ocasionalmente. Si utilizo el comando "Asignar una unidad de red" en WinXP explorer, debo ingresar la dirección IP y el nombre de la unidad, luego el nombre del enrutador y su contraseña. Demasiado para recordar!secuencia de comandos para asignar unidad de red

Busco una forma de secuencias de comandos esta actividad (en cualquier idioma), algo así como:.

map Z: \\10.0.1.1\DRIVENAME "ROUTERNAME\PW" 

Particularmente no me importa qué idioma el guión está escrito en BTW, estoy consciente del comando 'subst' de DOS, pero no creo que pueda usarlo en este caso debido a la protección con contraseña.

Respuesta

24

utilice el comando net use:

net use Z: \\10.0.1.1\DRIVENAME 

Edición 1: Además, creo que la contraseña debe ser simplemente añade:

net use Z: \\10.0.1.1\DRIVENAME PASSWORD 

Usted puede encontrar más información sobre este comando y sus argumentos a través de:

net use ? 

Edición 2: Como Tomalak mencionado en los comentarios, más últimos no-mapa que a través de

net use Z: \delete 
+1

Y para desmontarlo, la opción de eliminación ligeramente llamada "net use z:/delete" –

+0

La contraseña no se puede agregar simplemente, solo el nombre de usuario puede. – Tomalak

+1

en el "uso de red?", Dice: NET USE [devicename | *] [\\ computername \ sharename [\ volume] [contraseña | *]] ... Agregar la contraseña con un espacio debería funcionar de acuerdo con los documentos. – Mike

11

qué no funciona (asumiendo "ROUTERNAME" es el nombre del usuario del router espera)?

 
net use Z: "\\10.0.1.1\DRIVENAME" /user:"ROUTERNAME" "PW" 

Como alternativa, puede utilizar utilizar un pequeño VBScript:

Option Explicit 
Dim u, p, s, l 
Dim Network: Set Network= CreateObject("WScript.Network") 

l = "Z:" 
s = "\\10.0.1.1\DRIVENAME" 

u = "ROUTERNAME" 
p = "PW" 

Network.MapNetworkDrive l, s, False, u, p 
+0

+1 ¡Funcionó muy bien para mí! – JohnB

3

Por qué no asignar la unidad de red, pero desactive la opción "Conectar de nuevo al inicio de sesión"? La unidad solo se conectará cuando intentes acceder a ella. Tenga en cuenta que algunas aplicaciones fallarán si lo señalan, pero si está accediendo a archivos directamente a través de Windows Explorer, esto funciona muy bien.

4

Tomalak's respuesta funcionó muy bien para mí (+1)

sólo necesitaba hacer alterar ligeramente para mis propósitos, y que no necesitaba una contraseña - es de dominio corporativo:

Option Explicit 
Dim l: l = "Z:" 
Dim s: s = "\\10.10.10.1\share" 
Dim Network: Set Network = CreateObject("WScript.Network") 
Dim CheckDrive: Set CheckDrive = Network.EnumNetworkDrives() 
Dim DriveExists: DriveExists = False 
Dim i 

For i = 0 to CheckDrive.Count - 1 
    If CheckDrive.Item(i) = l Then 
    DriveExists = True 
    End If 
Next 

If DriveExists = False Then 
    Network.MapNetworkDrive l, s, False 
Else 
    MsgBox l + " Drive already mapped" 
End If

O si desea desconectar la unidad:

For i = 0 to CheckDrive.Count - 1 
    If CheckDrive.Item(i) = l Then 
    WshNetwork.RemoveNetworkDrive CheckDrive.Item(i) 
    End If 
Next
1

Aquí una variante de JScript JohnB 's answer

// Below the MSDN page for MapNetworkDrive Method with link and in case if Microsoft breaks it like every now and then the path to the documentation of now. 
// https://msdn.microsoft.com/en-us/library/8kst88h6(v=vs.84).aspx 
// MSDN Library -> Web Development -> Scripting -> JScript and VBScript -> Windows Scripting -> Windows Script Host -> Reference (Windows Script Host) -> Methods (Windows Script Host) -> MapNetworkDrive Method 

var WshNetwork = WScript.CreateObject('WScript.Network'); 
function localNameInUse(localName) { 
    var driveIterator = WshNetwork.EnumNetworkDrives(); 
    for (var i=0, l=driveIterator.length; i < l; i += 2) { 
     if (driveIterator.Item(i) == localName) { 
      return true; 
     } 
    } 
    return false; 
} 

function mount(localName, remoteName) { 
    if (localNameInUse(localName)) { 
     WScript.Echo('"' + localName + '" drive letter already in use.'); 
    } else { 
     WshNetwork.MapNetworkDrive(localName, remoteName); 
    } 
} 

function unmount(localName) { 
    if (localNameInUse(localName)) { 
     WshNetwork.RemoveNetworkDrive(localName); 
    } 
} 
Cuestiones relacionadas