Finalmente, espero conhecer o motivo e testar alguns cenários.
Primeiro, deixe-me dizer que esse é um BUG do Windows NFS.
Eu não sei como reportar isso à Microsoft como mero mortal. Eu vou reportar aqui e no meu blog.
Existem condições a serem cumpridas para que este erro seja propagado:
1) O computador deve estar no domínio
2) Você tem que usar este computador tanto na rede interna e VPN completa e você tem que tanto no mesmo perfil
3) Você precisa ter a implementação NFS da Microsoft instalada (alias Client for NFS)
4) Você precisa ter o serviço iniciado automaticamente no início do computador. Se o serviço estiver em manual
start e for iniciado após a conclusão da sequência de inicialização, o bug não se manifestará.
5) Você precisa ter algum tipo de compartilhamento NFS . O problema aqui é que o compartilhamento NFS leva precedência ao compartilhamento normal net use
. Se você desconectar um compartilhamento NFS e, em seguida, mapeá-lo usando net use ... /persistent:yes
, esse compartilhamento será substituído após uma reinicialização. Será identificado, após a reinicialização, como compartilhamento NFS novamente, e produzindo o erro.
Como lidar com isso?
Resumindo: Configure o serviço NFS Client para Windows para manual do modo automático . Use o Agendador de Tarefas ou gpedit em conjunto com meus scripts do PowerShell para montagem e desmontando compartilhamentos NFS. NÃO pare o serviço NFS Client for Windows quando alguns compartilhamentos estiverem montados!
Resposta mais longa:
Ao usar meus scripts, leia as informações abaixo:
Notas & & melhores práticas (importante ler!):
A) NFS mount, at least the Microsoft's implementation, is NOT persistent over boots. To overcome
this you have these options:
I) Schedule this script in Task scheduler under "ordinary" user e.g. DOMAIN\user and have the
check-box "Run with highest privileges" (in order to start the NFS Client service if stopped)
II) Run it in the "Local Group Policy Editor" (gpedit.msc) under "Windows Settings\Scripts"
(Startup -> mount and Shutdown -> unmount) in the sections "Computer Configuration" (for all
users) or under "User configuration" (for one specific user)
B) Do !!!NOT!!! mount NFS drive on system-wide account as "nt authority\system". At the first
glance this seems to be a good idea. Don't be fooled, it is not! When you mount NFS share
under "SYSTEM" account it will appear as fixed drive for all other users! On "SYSTEM" account
it still will show as network share. If you stop the NFS Client for Windows service, NOT
recommended when any NFS share active, and then start it again, then even under "SYSTEM"
account it will appear as "fixed" drive. It will leave user no option other than restart for
unmount.
C) It is NOT a good idea to stop Client for NFS Service when you have NFS mounted. It can lead
to unexpected states like the NFS share actually becoming a hard-drive for windows till reboot.
D) If the Client for NFS Service is started already then it is better not to stop it manually as
it can, under certain circumstances, refuse to start. It is better to have a log-off script
take care of the unmount && stopping the service
Erros ou notas de configuração do servidor:
A) You are getting a powershell error:
"Attempting to perform the InitializeDefaultDrives operation on the 'FileSystem' provider
failed."
This error can be caused the NFS Client for Windows when service is starting with start of the
Windows. It takes precedence over "ordinary" 'net use' and it causes powershell to check
"FileSystem".
Ad A) Solution: Use this script for mounting NFS Share - set it using gpedit policies on start or
you can run via Task scheduler (It tries to start the Client for NFS service) - the script has to have rights to do so Don't forget to set the service "Client for NFS"("NfsClnt")
to manual start so it won't start with the windows startup.
B) If you are getting this error message (at your NFS server):
"(rpc.mountd[7243]: refused mount request from 192.168.XX.XX for <mount>: illegal port 24784"
you are most probably trying to connect on port over 1024. To connect to NFS share you need
to have 'insecure' option at your /etc/exports (if missing fix it and run 'exportfs -r')
TIP: The mounting script requires UAC to start the service, if the service is not started already. You can:
1) run it manually - you will see UAC window 2) create a new Task in Task Scheduler and check the check box "Run it with highest privileges" 3) create a startup powershell script in the local policies
Migração da unidade de rede NFS OR windows share (por exemplo, usando a funcionalidade de janelas off-line) para a nuvem
Excluindo a unidade de rede (no meu caso, uma unidade U:
)
Esse problema pode surgir quando você tem a funcionalidade de arquivos off-line ativada e os arquivos são de backup para uma unidade de rede. Se a sua empresa mudar isso em favor de ir para algum serviço de nuvem, isso pode lhe trazer uma situação de deadlock em seu perfil, quando algum aplicativo ainda precisar dessa unidade de rede anterior, mas você ainda precisa mudar para um novo provedor de nuvem.
Se você estiver usando um NFS Client for windows
da Microsoft, é assim que você se livra da unidade de rede anterior:
Como se livrou da unidade U:
(ainda não a mensagem) com as seguintes etapas:
1) Vá para - > Start Menu\Programs\Administrative Tools\Services for Network File System (NFS)
2) Pare client for NFS
clicando com o botão direito no item e selecionando stop service
3) A remoção manual simples funciona !!!!
net use u: /delete
--> U: was deleted successfully.
Para que as janelas esqueçam a unidade anterior e configurem corretamente o ambiente volátil para a nova configuração, você deve reinicializar .
Livrar-se da mensagem de erro: Falha ao tentar executar a operação InitializeDefaultDrives no provedor 'FileSystem'.
A mensagem de erro não aparece com Client for NFS
interrompido. É suficiente tê-lo no estado manual
e iniciá-lo via script