Montar permanentemente o compartilhamento de rede sem a necessidade de fazer logon? (Janelas)

21

Em um servidor Windows 2008 R2 (padrão), preciso ter uma unidade de rede montada sem que um usuário específico faça logon na máquina primeiro. Mais ou menos como uma NFS mount via fstab em máquinas Unix. A unidade de rede será compartilhada por meio de um dispositivo BlackArmor (Seagate) (que eu presumo que execute o Samba). O appliance pode ser um membro do domínio, se necessário.

Até agora, tentei usar Edit Group Policy - > Configuration - > Windows - > Scripts - > Startup onde eu fiz isso executar

net use x: \server\share /user:username password

Sem sucesso. Após o login, a unidade de rede foi vista no Windows Explorer como uma unidade de rede desconectada.

    
por adamo 11.09.2012 / 12:08

3 respostas

17

Isso aparentemente é possível, de acordo com esta postagem do StackOverflow .

Antes de postar o conteúdo da resposta, posso sugerir que você está complicando demais isso?

Em situações como essa, em que um trecho de código ruim precisa de um usuário conectado para ser executado (como o servidor Domino, resmungão ), criei uma conta de serviço que sempre deve estar conectada em um determinado servidor, e configurar um script de login automático, para que a máquina faça o login na conta especificada na reinicialização automaticamente. Eu sugeriria que a solução mais fácil e mais suportável para o seu problema seria fazer o mesmo e ter a unidade mapeada para esse usuário da conta de serviço pela Diretiva de Grupo ou pelo script de logon.

De qualquer forma, se você estiver determinado a tentar isso sem um contexto de usuário, veja o abaixo. É um hack, então use por sua conta e risco:

For this hack you will need SysinternalsSuite by Mark Russinovich: http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx

Step one: Open an elevated cmd.exe prompt (Run as administrator)

Step two: Elevate again to root using PSExec.exe: Navigate to the folder containing SysinternalsSuite and execute the following command "psexec -i -s cmd.exe" you are now inside of a prompt that is "nt authority\system" and you can prove this by typing "whoami". The -i is needed because drive mappings need to interact with the user

Step Three: Create the persistent mapped drive as the SYSTEM account with the following command "net use z: \servername\sharedfolder /persistent:yes"

It's that easy!

WARNING: You can only remove this mapping the same way you created it, from the SYSTEM account. If you need to remove it, follow steps 1 and 2 but change the command on step 3 to: "net use z: /delete"

NOTE: The newly created mapped drive will now appear for ALL users of this system but they will see it displayed as "Disconnected Network Drive (Z:)". Do not let the name fool you. It may claim to be disconnected but it will work for everyone. That's how you can tell this hack is not supported by M$.

Dos comentários:

To get it working after a reboot, create a script just containing net use z: \servername\sharedfolder and set it to run on computer startup, per technet.microsoft.com/en-us/library/cc770556.aspx This will run as the SYSTEM account, so no need for psexec.

    
por 11.09.2012 / 14:27
4

crie seu arquivo de lote, que executa este comando. convertê-lo em um serviço do Windows. fazer esse serviço iniciar na inicialização do Windows, e é isso.

Pode ser útil: Como criar um serviço em execução um arquivo .bat no Windows 2008 Server?

    
por 11.09.2012 / 13:56
2

Você também pode tentar adicionar Sysinternals Suite ao C: \ SysinternalsSuite

  1. Executar uma janela cmd elevada
  2. cd c:\sysint*
  3. psexec -i -s cmd.exe
  4. whoami Para ter certeza de que você não tem autoridade
  5. net use x: \PathToDrive ou share /persistent:yes

Ele deve ser exibido como uma unidade desconectada e, para montá-lo automaticamente, basta criar um script de inicialização com a etapa 5. Você terá que usar as etapas de 1 a 5 para excluir o mapeamento. Basta alterar 5 para refletir net use x: / delete

    
por 07.01.2015 / 19:26