Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Fernando

Script MS-DOS ROBOCOPY

Recommended Posts

Ola pessoal bom dia a todos,

 

Desenvolvi um arquivo .BAT utilizando o ROBOCOPY para sempre que o computador for ligado forem copiados arquivos do SERVIDOR para uma pasta do computador local.

 

Para que o SCRIPT funcione eu poderia utilizar TAREFAS AGENDADAS ou definir um script de logon utilizando o GPEDIT.MSC.

 

Preferi a segunda opção.

 

 

Voltando ao script, já havia efetuado diversos testes e o script está funcionando corretamente.

 

 

O problema é que não utilizamos o ACTIVE DIRECTORY então os dados de usuario e senha são adicionados manualmente, porem todos os usuario são leigos dessa forma eu tenho que deixar as pastas de rede mapeadas.

 

Eu tentei usar o NET USE porem usando ele eu tenho que mapear as unidades de rede mais as unidades de rede já estão mapeadas.

 

A solução que eu estava pensando era algo como, ao entrar no servidor com os dados de usuário e senha o script robocopy seria executado, será que é possível fazer isso ?

 

 

Dessa forma se o usuário que entrou no computador não souber os dados de acesso a rede ele não tera como copiar os arquivos do servidor.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal acabei mudando um pouco, começei a pesquisar VBSCRIPT e descobri que era possivel se conectar a rede atravez de um arquivo .hta, eu não manjo muito de VBSCRIPT porem fui alterando um codigo que eu encontrei. segue:

<HTML>
<HEAD>
<TITLE>Acesso ao Servidor</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 "O:","\\server\teste", "FALSE", strLogin, strSenha

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

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</p>
</td>
<td height="30">   <input type="text" name="UsrnameArea" size="30"></td></tr>
<tr>
<td height="30">
<p align="right">Senha</p>
</td>
<td height="30">   <input type="password" name="PasswordArea" size="30"></td></tr>
</table><BR>
<HR color="#0000FF">
<Input id=runbutton class="button" type="button" value=" Confirmar " name="run_button" onClick="RunScript">
   
<Input id=runbutton class="button" type="button" value="Cancelar" name="cancel_button" onClick="CancelScript">
</CENTER>
</BODY>

</HTML>

Porem ainda tem um problema, não sei como eu posso adicionar um IF a esse código, preciso adicionar uma validação, se o usuário e senha forem vazios e também se não forem os corretos o arquivo bat não deve ser executado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.