none
Script para mapear unidade de rede em VBS - Com autenticação!!! RRS feed

  • Pergunta

  • Script para mapear unidade de rede em VBS - Com autenticação!!!

    Preciso de um scipt em VBS para mapear unidades de rede que solicite usuário e senha?

    Alguem sabe algum?

    Tentei o script abaixo mais da erro de "code"

    Code Snippet

    Set WshNetwork = WScript .CreateObject ("WScript.Network")

    WshNetwork.MapNetworkDrive "S:", "\\server\share ", True, username, password


    Valcenir-TI
    terça-feira, 2 de março de 2010 19:18

Respostas

  • Olá,

    Está correto. Você está passando o usuário e senha no script?

    onde está username, você deve colocar o usuário. Exemplo: "CONTOSO\Jose"

    O mesmo vale para a senha. Lembrando sempre das Aspas.

    Abaixo, verifique um script em hta que criei... O legal deste script é que você não precisa colocar o usuário e senha no script (que seria uma falha de segurança).


    <HTML>
    <HEAD>
    <TITLE>Mapeamento de rede</title>
    <HTA:APPLICATION
    ApplicationName="MappingWithCredentials.HTA"
    SingleInstance="Yes"
    WindowsState="Normal"
    Scroll="No"
    Navigable="Yes"
    MaximizeButton="No"
    SysMenu="Yes"
    Caption="Yes"
    ></HEAD>

    <SCRIPT LANGUAGE="VBScript">

    Sub Window_Onload
    '# Size Window
    sHorizontal = 440
    sVertical = 175
    Window.resizeTo sHorizontal, sVertical
    '# Get Monitor Details
    Set objWMIService = GetObject _
    ("winmgmts:root\cimv2")
    intHorizontal = sHorizontal *2
    intVertical = sVertical *2
    Set colItems = objWMIService.ExecQuery( _
    "Select ScreenWidth, ScreenHeight from" _
    & " Win32_DesktopMonitor", , 48)
    For Each objItem In colItems
    sWidth= objItem.ScreenWidth
    sHeight = objItem.ScreenHeight
    If sWidth > sHorizontal _
    then intHorizontal = sWidth
    If sHeight > sVertical _
    then intVertical = sHeight
    Next
    Set objWMIService = Nothing
    '# Center window on the screen
    intLeft = (intHorizontal - sHorizontal) /2
    intTop = (intVertical - sVertical) /2
    Window.moveTo intLeft, intTop
    '# default window content
    window.location.href="#Top"
    End Sub


    Sub RunScript
    on Error Resume Next

    strLogin = UsrnameArea.Value
    strSenha = PasswordArea.Value

    Set objNetwork = CreateObject("WScript.Network")
    Set oShell = CreateObject("Shell.Application")

    objNetwork.MapNetworkDrive "U:","\\servidorcompartilhamento", "FALSE", strLogin, strSenha


    Set oShell = Nothing
    Set objNetwork = Nothing
    Self.Close()
    End Sub


    Sub CancelScript
    Set oShell = Nothing
    Set objNetwork = Nothing
    Self.Close()
    End Sub

    </SCRIPT>


    <BODY STYLE="font:14 pt arial; color:white; filter:progid:DXImageTransform.Microsoft.Gradient( GradientType=1, StartColorStr='#000000', EndColorStr='#0000FF')">
    <a name="Top"></a><CENTER>
    <table border="0" cellpadding="0" cellspacing="0"><font size="2" color="black" face="Arial">
    <tr>
    <td height="30">
    <p align="right">Usuario (@dominio.local)</p>
    </td>
    <td height="30">&nbsp;&nbsp; <input type="text" name="UsrnameArea" size="30"></td></tr>
    <tr>
    <td height="30">
    <p align="right">Senha</p>
    </td>
    <td height="30">&nbsp;&nbsp; <input type="password" name="PasswordArea" size="30"></td></tr>
    </table><BR>
    <HR color="#0000FF">
    <Input id=runbutton class="button" type="button" value=" Create Drive " name="run_button" onClick="RunScript">
    &nbsp;&nbsp;&nbsp;
    <Input id=runbutton class="button" type="button" value="Cancel" name="cancel_button" onClick="CancelScript">
    </CENTER>
    </BODY>

    </HTML>



    Salve o script acima com a extensao .hta e execute. Faça as alterações necessárias.


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    quarta-feira, 3 de março de 2010 16:24

Todas as Respostas

  • Olá,

    Está correto. Você está passando o usuário e senha no script?

    onde está username, você deve colocar o usuário. Exemplo: "CONTOSO\Jose"

    O mesmo vale para a senha. Lembrando sempre das Aspas.

    Abaixo, verifique um script em hta que criei... O legal deste script é que você não precisa colocar o usuário e senha no script (que seria uma falha de segurança).


    <HTML>
    <HEAD>
    <TITLE>Mapeamento de rede</title>
    <HTA:APPLICATION
    ApplicationName="MappingWithCredentials.HTA"
    SingleInstance="Yes"
    WindowsState="Normal"
    Scroll="No"
    Navigable="Yes"
    MaximizeButton="No"
    SysMenu="Yes"
    Caption="Yes"
    ></HEAD>

    <SCRIPT LANGUAGE="VBScript">

    Sub Window_Onload
    '# Size Window
    sHorizontal = 440
    sVertical = 175
    Window.resizeTo sHorizontal, sVertical
    '# Get Monitor Details
    Set objWMIService = GetObject _
    ("winmgmts:root\cimv2")
    intHorizontal = sHorizontal *2
    intVertical = sVertical *2
    Set colItems = objWMIService.ExecQuery( _
    "Select ScreenWidth, ScreenHeight from" _
    & " Win32_DesktopMonitor", , 48)
    For Each objItem In colItems
    sWidth= objItem.ScreenWidth
    sHeight = objItem.ScreenHeight
    If sWidth > sHorizontal _
    then intHorizontal = sWidth
    If sHeight > sVertical _
    then intVertical = sHeight
    Next
    Set objWMIService = Nothing
    '# Center window on the screen
    intLeft = (intHorizontal - sHorizontal) /2
    intTop = (intVertical - sVertical) /2
    Window.moveTo intLeft, intTop
    '# default window content
    window.location.href="#Top"
    End Sub


    Sub RunScript
    on Error Resume Next

    strLogin = UsrnameArea.Value
    strSenha = PasswordArea.Value

    Set objNetwork = CreateObject("WScript.Network")
    Set oShell = CreateObject("Shell.Application")

    objNetwork.MapNetworkDrive "U:","\\servidorcompartilhamento", "FALSE", strLogin, strSenha


    Set oShell = Nothing
    Set objNetwork = Nothing
    Self.Close()
    End Sub


    Sub CancelScript
    Set oShell = Nothing
    Set objNetwork = Nothing
    Self.Close()
    End Sub

    </SCRIPT>


    <BODY STYLE="font:14 pt arial; color:white; filter:progid:DXImageTransform.Microsoft.Gradient( GradientType=1, StartColorStr='#000000', EndColorStr='#0000FF')">
    <a name="Top"></a><CENTER>
    <table border="0" cellpadding="0" cellspacing="0"><font size="2" color="black" face="Arial">
    <tr>
    <td height="30">
    <p align="right">Usuario (@dominio.local)</p>
    </td>
    <td height="30">&nbsp;&nbsp; <input type="text" name="UsrnameArea" size="30"></td></tr>
    <tr>
    <td height="30">
    <p align="right">Senha</p>
    </td>
    <td height="30">&nbsp;&nbsp; <input type="password" name="PasswordArea" size="30"></td></tr>
    </table><BR>
    <HR color="#0000FF">
    <Input id=runbutton class="button" type="button" value=" Create Drive " name="run_button" onClick="RunScript">
    &nbsp;&nbsp;&nbsp;
    <Input id=runbutton class="button" type="button" value="Cancel" name="cancel_button" onClick="CancelScript">
    </CENTER>
    </BODY>

    </HTML>



    Salve o script acima com a extensao .hta e execute. Faça as alterações necessárias.


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    quarta-feira, 3 de março de 2010 16:24
  • Achei muito útil o script que você montou.

    Eu testei aqui com mais uma coisa.

    Preciso que após o usuário se conectar a rede ele execute uma arquivo .bat (robocopy) isso todos os dias para isso eu fiz o seguinte:

    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "C:\teste2.bat"

    Porem ainda tem mais um problema, pelo que eu reparei você não adicionou nenhum validação ao Script que você montou, eu também não tenho muita pratica em VBSCRIPT é possível adicionar uma validação para campos vazios ou melhor para quando o usuário ou senha estiverem incorretos ?

    Eu tornei esse arquivo uma tarefa agendada do windows, para que todos os dias ao ligar o computador seja solicitado o usuário e senha do servidor.

    Ainda não utilizamos AD aqui na empresa.

    Achei desnecessário abrir um outro tópico sendo que esse já me atendeu em basicamente tudo faltando apenas o que eu mencionei acima.

    quinta-feira, 18 de setembro de 2014 19:45
  • Baaaaah!

    Este Script é muito FERAAAA!

    Funcionou que é uma beleza, obrigado!

    segunda-feira, 4 de julho de 2016 17:48