Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Uso o XP com o XPU (http://www.xpunlimited.com), uma estensão para usar várias áreas de trabalho remotas.
O problema é que tenho um programa que cria arquivos temporários utilizando o nome de host e o ip do computador em que está rodando. Como todas as instâncias da Área de Trabalho Remota estão rodando no mesmo micro, o host e o ip continuam o mesmo.
Tentei então criar um script em VBScript para alterar o nome do computador quando o usuário fizesse login. O Script funciona bem, o prolema é que os a mudança afeta os usuários que já estiverem logados e o nome atualiza neles também!
Algéum sabe se existe uma maneira de se configurar um nome de computador para cada usuário logado no micro?
__________________________________
Aqui vai o script pra ser avaliado:
Set WSHNetwork = CreateObject("Wscript.Network")
nomeDoUsuario = WSHNetwork.UserName
'2. Define o nome do Computador
Set WSHShell = CreateObject("WScript.Shell")
nomeDoHost = Left("rdp_" & nomeDoUsuario, 15)
nomeDoHostU = UCase(nomeDoHost)
nomeDoHostL = LCase(nomeDoHost)
'3. Altera os dados do
With WSHShell
.RegWrite RegKeyCompName & "ComputerName\ComputerName", nomeDoHostU
.RegWrite RegKeyCompName & "ActiveComputerName\ComputerName", nomeDoHostU
.RegWrite RegKeyTCPIP & "Hostname", nomeDoHostL
.RegWrite RegKeyTCPIP & "NV Hostname", nomeDoHostL
End With
wscript.echo "Bem-Vindo " & nomeDoUsuario & VbCrLf & VbCrLf & _
"Tenha um bom dia de trabalho!" & VbCrLf & VbCrLf & VbCrLf & _
"Novo Host... _linenums:0'>Const RegKeyCompName = "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\"Const RegKeyTCPIP = "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\" Dim nomeDoUsuario, WSHNetwork, WSHShell, nomeDoHost, nomeDoHostU, nomedoHostL '1. Define o nome do Usuário logadoSet WSHNetwork = CreateObject("Wscript.Network")nomeDoUsuario = WSHNetwork.UserName '2. Define o nome do ComputadorSet WSHShell = CreateObject("WScript.Shell")nomeDoHost = Left("rdp_" & nomeDoUsuario, 15)nomeDoHostU = UCase(nomeDoHost)nomeDoHostL = LCase(nomeDoHost) '3. Altera os dados do With WSHShell .RegWrite RegKeyCompName & "ComputerName\ComputerName", nomeDoHostU .RegWrite RegKeyCompName & "ActiveComputerName\ComputerName", nomeDoHostU .RegWrite RegKeyTCPIP & "Hostname", nomeDoHostL .RegWrite RegKeyTCPIP & "NV Hostname", nomeDoHostLEnd With wscript.echo "Bem-Vindo " & nomeDoUsuario & VbCrLf & VbCrLf & _ "Tenha um bom dia de trabalho!" & VbCrLf & VbCrLf & VbCrLf & _ "Novo Host...: " & nomeDoHostUCarregando comentários...