Como altero o HOMEDRIVE HOMEPATH e o HOMESHARE no Windows XP?


40

Eu tenho um laptop configurado para ter o perfil de usuário em uma unidade de rede. Isso está me causando muitas dores de cabeça, pois a conectividade com a minha empresa é muito lenta. Quero mudar o perfil do meu usuário para um diretório local. Como faço isso?

Essas são as configurações no momento:

C:\>set HOME
HOMEDRIVE=P:
HOMEPATH=\
HOMESHARE=\\SOMESERVER\_myuser$

A unidade P é uma unidade de rede mapeada para o HOMESHARE.

Não consigo encontrar onde o Windows está definindo essas variáveis ​​de ambiente, nem mesmo no registro.

O laptop está executando o Windows XP.

Respostas:


27

Eu tive um problema semelhante, o que causou problemas com o msysgit . Aqui está a solução que usei e definitivamente funcionou para mim. Esta resposta é semelhante a esta e à publicação SO .

  1. Se você estiver no Windows 7, poderá pular esta etapa. Se você estiver no Windows XP, baixe e instale as Ferramentas de Suporte do Windows XP Service Pack 2, que contêm SETXum utilitário descrito no SS64 e no technet , que permite definir variáveis ​​permanentes do sistema e do usuário. Você deve ter direitos administrativos para definir variáveis ​​globais do sistema. O uso básico é SETX <variable> "<value>" [-m].

  2. Adicione o seguinte roteiro para a pasta de inicialização - W7: "C:\Users\<username>\Start Menu\Programs\Startup"e XP: "C:\Documents and Settings\<username>\Start Menu\Programs\Startup".

    SETX HOMEDRIVE %SYSTEMDRIVE% -m
    SETX HOMEPATH "\Documents and Settings\%USERNAME%" -m
    SETX HOMESHARE "\\<server>\<share>" -m
    SET HOME=%SYSTEMDRIVE%\Documents and Settings\%USERNAME%
    SETX HOME "%HOME%"
    SET TEMP=%HOME%\Local Settings\Temp
    SETX TEMP "%TEMP%"
    SETX TMP "%TEMP%"
    

Nota: as SETX variáveis ​​são permanentes, mas não estão disponíveis até a execução do script, portanto, use SETpara criar variáveis ​​temporárias no seu script. Também usa aspas duplas em torno do valor para o qual você deseja definir sua variável, caso ela tenha espaços, mas isso não é necessário SET. Variáveis ​​de máquina são definidas com a -mopção; variável de usuário é o padrão. O Windows 7 tem muito mais opções e usos em /vez de -.


9

Há uma boa chance de que tudo o que você altere seja adiado na próxima vez que você se conectar ao domínio (por meio de Diretivas de Grupo ou similares).

Você já pensou em perguntar ao pessoal de TI da sua empresa se eles podem mudar isso para você?

Talvez crie um usuário local no laptop para uso fora do domínio, para que você não esteja esperando por esses atalhos de link lento, nem tentando contornar as configurações de usuário do domínio, conforme estabelecido pela empresa.


3
Essa é a beleza do Windows. Mesmo se você é root, alguém decide o que seu sistema operacional fará.
Luigi R. Viggiano

9
Não, essa é a beleza de ter um emprego onde eles fornecem e controlam os computadores. OU é a beleza de poder unificar e gerenciar centralmente uma rede cheia de computadores da empresa que os usuários tentam invadir porque pensam que é deles. O Windows não tem nada a ver com seu chefe decidir como você usa os recursos da empresa (notebook, rede, etc.). ;)
Ƭᴇcʜιᴇ007

3
Não, essa é a beleza de um ecossistema que facilita aos macacos que tocam o poder brincar de Deus sem se importar ou se preocupar com o impacto na produtividade.
Nathanchere #

2
Não, é a capacidade de gerenciar centenas de computadores com eficiência, sem que os usuários destruam tudo e é uma das razões pelas quais você não vê os desktops Linux ou Mac em todos os lugares. Nem todo mundo é um usuário avançado no mundo real dos negócios. Não estamos falando de lojas de codificação.
Alan B

9

Tenho um problema semelhante no meu ambiente corporativo e desenvolvi um variedade de hacks e soluções alternativas . Com minha configuração atual, os seguintes valores são forçados pelo domínio:

set HOME
HOMEDRIVE=G:
HOMEPATH=\
HOMESHARE=\\Server\Users\username

Mas, com minha solução alternativa, os mapeamentos resultantes são:

HOMEDRIVE => G: => \\Server\Users\username => C:\Users\username
HOMESHARE       => \\Server\Users\username => C:\Users\username

Enquanto outros caminhos de servidor / mapeamentos de unidade vão para o servidor remoto:

O: => \\Server\Example => \\Real_Server\Example
      \\Server\Example => \\Real_Server\Example

Eles foram testados apenas no Windows 7, mas eu imagino que eles também funcionem no Windows XP se você tiver a ferramenta mklink.


Obrigado pela sugestão; no final, consegui que alguns programas (como aplicativos java, mingw etc.) usassem uma pasta inicial diferente; Eu tive que configurar ou invadir esses aplicativos para enganá-los, mas funcionou. Saí da empresa agora, então não posso verificar se sua solução se aplica bem ao meu caso, mas seus hacks são as coisas que eu esperava obter ao publicar esta pergunta.
Luigi R. Viggiano

8

Problema ocorre com o TortoiseGit ao trabalhar fora do escritório, onde a unidade de rede não está conectada.

Mudar HOME, HOMEPATHnão ajuda !!

Solução:

mkdir c:\home
net use g: /delete
subst g: c:\home

Onde g:fica a unidade de rede.

 


Cara, você é meu herói.
Chad Schouggins

4

Eles estão nas propriedades avançadas do sistema. No Vista / Win 7:

  1. Clique com o botão direito em "Meu Computador"
  2. Selecione "Propriedades"
  3. Selecione "Configurações avançadas do sistema" (link no lado esquerdo da janela)
  4. Selecione "Avançado" (guia)
  5. Selecione "Variáveis ​​de ambiente" (botão)

2
Obrigado, mas o laptop está executando o Windows XP (atualizei a pergunta com este detalhe). E essas variáveis ​​não são visíveis nem editáveis ​​nas configurações do sistema.
Luigi R. Viggiano

2
Alguns deles estão presentes apenas no ambiente para obter informações e são configurados / armazenados em outro local. HOMEDRIVE / HOMEPATH são o diretório inicial, conforme definido na configuração da conta em "Usuários e Contas". Tente executar 'lusrmgr.msc' (gerenciador de usuários e grupos locais). Algumas das configurações avançadas de caminho são gerenciadas por isso.

11
Infelizmente, meu usuário é um usuário de domínio (não local), portanto não está listado nos usuários locais e no gerente de grupo.
Luigi R. Viggiano

11
Em seguida, é necessário modificá-lo no controlador de domínio, que é onde essas coisas são mantidas para as contas de domínio. A outra opção é usar apenas uma conta local com acesso aos arquivos da conta de domínio para quando você estiver fora do local.

Obrigado, vou verificar isso (o controlador de domínio). Encontrado na Wikipedia: en.wikipedia.org/wiki/Domain_controller
Luigi R. Viggiano

0

Sei que estou atrasado para este segmento, mas tenho o mesmo problema quando meu departamento de TI alterou as políticas de grupo e meu HOMEDRIVE se tornou M: em vez de C: e HOMEPATH apenas "\" instado para "\ Users \ [nome de usuário] " Procurei no código Git e descobri que ele usa a combinação HOMEDRIVE / HOMEPATH apenas se HOME não estiver definido.

Então, acabei de definir HOME (que felizmente não estava no GP) como "C: \ Users \ [nome de usuário]" e o Git encontrou .gitconfignovamente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.