Spyder.RV 0 Denunciar post Postado Março 5, 2007 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...: " & nomeDoHostU Compartilhar este post Link para o post Compartilhar em outros sites
Igor Yamashita 0 Denunciar post Postado Março 7, 2007 Creio que não tem como fazer...Pelo menos que eu saiba não.... Compartilhar este post Link para o post Compartilhar em outros sites
Spyder.RV 0 Denunciar post Postado Março 9, 2007 Creio que não tem como fazer...Pelo menos que eu saiba não....Também estou achando que não.... Uma última tentativa vai ser o ACT (Application Compatibility Toolkit) da Microsoft. Parece que ele ajusta algumas operações realizadas pelo programa, principalmente as ações que envolvam o uso das API's do sistema... Dei uma olhada nele mas não achei nenhuma opção para hacker a função GetComputerName/GetComputerNameA que deve ser o que foi usado para recuperar o nome do Computador pelo programa.Alguem sabe como usar esse programa??? Compartilhar este post Link para o post Compartilhar em outros sites
Spyder.RV 0 Denunciar post Postado Dezembro 17, 2007 Ae pessoal, Tô reativando o tópico.... Alguem sabe ou já viu algo parecido com o que eu preciso... Confesso que se não precisasse tanto, já teria desistido... Compartilhar este post Link para o post Compartilhar em outros sites