로밍 프로필 powershell 생성 문제- 'FileSystem'공급자에서 InitializeDefaultDrives 작업을 수행하지 못했습니다.


3

이것은 실제로 성가신 오류 입니다. 'FileSystem'제공자에서 InitializeDefaultDrives 조작을 수행하려는 시도가 실패했습니다. 회사 네트워크 외부에서 powershell을 시작할 때마다 표시됩니다.

스크린 샷

버그

간단한 설명 :

도메인에 노트북이 있습니다. 내가 사용하는 두 가지 방법이 있습니다. 먼저 회사 네트워크 내부에 있으며 모든 것이 잘 작동합니다. 두 번째 방법은 사무실 밖에있을 때 VPN을 통해 연결하는 것입니다. powershell을 시작할 때마다 위에서 언급 한 오류가 발생합니다.

드라이브를 검색하는 스크립트 :

오류를 다시 검색하면 원인이 드라이브 또는 리소스에 연결되지 않은 것으로 보입니다.

나는 원인이 무엇인지 알아 내려고 노력했습니다. 홈 폴더 구조가 약간 변경되었으므로 의심했습니다.

이 스크립트를 두 위치에서 모두 실행했습니다.

Write-Verbose -Message 'Get-PSDrive -PSProvider FileSystem' -verbose
echo 'Get-PSDrive -PSProvider FileSystem' | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log
Get-PSDrive -PSProvider FileSystem | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log

Write-Verbose -Message 'net use' -verbose 
echo 'net use' | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log
net use | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log

Write-Verbose -Message '[System.IO.DriveInfo]::GetDrives() | Format-Table' -verbose
echo '[System.IO.DriveInfo]::GetDrives() | Format-Table' | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log

[System.IO.DriveInfo]::GetDrives() | Format-Table | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log

# does not work properly
# Write-Verbose -Message 'Get-CimInstance -ClassName Win32_LogicalDisk -ComputerName $env:COMPUTERNAME' -verbose | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log
#Get-CimInstance -Class Win32_LogicalDisk | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log

Write-Verbose -Message 'Get-CimInstance -Class Win32_NetworkConnection' -verbose 
echo 'Get-CimInstance -Class Win32_NetworkConnection' | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log
Get-CimInstance -Class Win32_NetworkConnection | Out-File -Append -Encoding "UTF8" -FilePath filesystem.log

결과 :

그림자에서 숨어있는 U : \가있는 것 같습니다 (온 프레미스에는 나타나지 않음). 연결이 끊어진 네트워크 드라이브이므로 더 이상 사용해서는 안됩니다. (이를 사용하는 일부 레거시 프로그램이 있으며 GPO 규칙을 통해 적용해야합니다)

net use 생산 :

U:        \\server_name\U_login_name$   NFS Network

[System.IO.DriveInfo]::GetDrives() | Format-Table 생산 :

Name            DriveType DriveFormat       IsReady AvailableFre TotalFreeSpa   TotalSize RootDirecto VolumeLabel
                                                          eSpace           ce             ry                     
----            --------- -----------       ------- ------------ ------------   --------- ----------- -----------
C:\                 Fixed NTFS                 True   1779298304   1779298304 ...43488000 C:\         OSDisk     
U:\               Network                     False                                       U:\  

Get-CimInstance -Class Win32_NetworkConnection

LocalName                    RemoteName                   ConnectionState             Status                     
---------                    ----------                   ---------------             ------                     

U:                           \\server_name\U_login_name$      Disconnected                Unavailable                

반면, 회사 네트워크에 직접있을 때는 U : \가 없습니다.

내가 상황을 바로 잡기 위해 노력한 것

  • 수동 분리

    1) 일반적인 방법 (연결을 마우스 오른쪽 버튼으로 클릭) 오류가 발생합니다. 이 네트워크 연결이 존재하지 않습니다

    2) NFS 사용시 umount u::

    Disconnecting           U:      \\server_name\U_login$
    There are open files and/or incomplete directory searches pending on the connection.
    
    Do you want to continue this operation? (Y/N) [N]:y
    
    Network Error - 2250    Not Connected
    

    3) 모든 NFS 마운트의 강제 연결 해제 시도 (U : 드라이브는 NFS 공유로보고 됨) umount -f -a:

    Network Error - 2250    Not Connected
    
  • 인터넷에서 찾은 제안 :

    1) GPO 변경

    이 문제를 해결하려면 그룹 정책을 통해 다음 설정을 적용하십시오.

    User Configuration/Administrative Templates/System/Scripts/Run logon scripts synchronously = Enabled

(참고 : 로밍 프로필을 사용할 때 컴퓨터가 실제로 시작되고 실제로 느려집니다.이 설정을 비활성화해야합니다)

2) 매핑 된 드라이브가 사라지지 않습니다

나는이 링크에 대한 기대가 높았습니다. 매핑 된 드라이브는 사라지지 않을 것입니다-로그온에서 다시 연결을 유지합니다 .

>  I have indeed checked scripts and GPOs and this is nowhere to be found there. This looks more like a manual mapping that had the
> "Reconnect on logon" checkbox checked and is now so persistent that
> there was no "normal" way to undo it.

불행히도, 거기에 대한 모든 제안은 실패했습니다.

  • 기재

    1) 레지스트리에서 문자열을 검색하여 여기에서 찾았습니다.

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2]. U : 드라이브 키를 삭제하려고했지만 계속 돌아옵니다.

2) 나는 또한 그것을 여기에서 발견했다 (그러나 아직 실험하지는 않았다; 나는 OS를 중단하고 싶지 않다).

    Windows Registry Editor Version 5.00

    [HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Volatile Environment]
    "HOMEDRIVE"="U:"
    "LOGONSERVER"="\\\\logon_server"
    "USERDNSDOMAIN"="dns_domain"
    "USERDOMAIN"="user_domain"
    "USERNAME"="login"
    "USERPROFILE"="C:\\Users\\login"
    "HOMEPATH"="\\"
    "HOMESHARE"="\\\\server_name\\U_login$"
    "APPDATA"="C:\\Users\\login\\AppData\\Roaming"
    "LOCALAPPDATA"="C:\\Users\\login\\AppData\\Local"
    "USERDOMAIN_ROAMINGPROFILE"="user_domain"

    [HKEY_USERS\S-1-5-21-119559289-1840127793-336618761-855951\Volatile Environment\1]
    "SESSIONNAME"="Console"
    "CLIENTNAME"=""

지금까지 로밍 프로필에 문제가 있다고 결론을 내 렸습니다. 로밍 프로필이 올바른 정보로 업데이트되지 않은 이유를 아직 찾아 내야합니다.

누구든지 그러한 문제를 해결하는 방법에 대한 아이디어 / 경험이 있습니까?

답변:


0

마지막으로 이유를 알고 일부 시나리오를 테스트하기를 바랍니다.

먼저 이것이 Windows NFS BUG 이라고 말하겠습니다 .

필사자로서 Microsoft에보고하는 방법을 모르겠습니다. 여기와 내 블로그에보고하겠습니다.

이 오류가 전파 되려면 다음 조건 이 충족되어야합니다.

1) 컴퓨터가 도메인에 있어야합니다

2)이 컴퓨터는 내부 네트워크와 본격적인 VPN 모두에서 사용해야하며 동일한 프로필에서 모두 사용해야합니다.

3) Microsoft의 NFS 구현을 설치해야합니다 (NFS 용 클라이언트).

4) 컴퓨터를 시작할 때 서비스를 자동으로 시작해야합니다. 서비스가 manual시작 중이고 부팅 순서가 완료된 후 시작되면 버그 자체가 나타나지 않습니다.

5) 일종의 NFS 공유 가 있어야합니다 . 여기서 문제는 NFS 공유가 일반 공유 보다 우선net use 한다는 것입니다. NFS 공유의 연결을 끊고을 사용하여 매핑 net use ... /persistent:yes하면 재부팅 후이 공유를 덮어 씁니다. 재부팅 후 NFS 공유로 다시 식별 되어 오류가 발생합니다.

그것을 다루는 방법?

한마디로 : 설정 Windows 서비스에 대한 NFS 클라이언트수동 에서 자동 모드. 내 PowerShell 스크립트와 함께 작업 스케줄러 또는 gpedit를 사용하여 장착 하고 마운트 해제 NFS 공유를. 일부 공유가 마운트 될 때 Windows 용 NFS 클라이언트 서비스를 중지 하지 마십시오 !

더 긴 답변 :

내 스크립트를 사용할 때 다음 정보를 읽으십시오.

메모 및 모범 사례 (읽기 중요) :

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                                               

오류 또는 서버 구성 참고 사항 :

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) 솔루션 : NFS 공유를 마운트하기 위해이 스크립트를 사용하십시오. 시작시 gpedit 정책을 사용하여 설정하거나
작업 스케줄러를 통해 실행할 수 있습니다 (NFS 용 클라이언트 서비스를 시작하려고 시도 함)-스크립트에 그렇게 할 수있는 권한이 있어야합니다. t "Client for NFS"( "NfsClnt") 서비스
를 수동 시작으로 설정하여 Windows 시작으로 시작하지 않도록하십시오.

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`)    

팁 : 서비스가 아직 시작되지 않은 경우 마운트 스크립트를 사용하려면 UAC에서 서비스를 시작해야합니다. 당신은 할 수 있습니다 :

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

NFS OR 창에서 네트워크 드라이브를 공유 (예 : 오프라인 창 기능 사용)하여 클라우드로 마이그레이션

네트워크 드라이브 삭제 (내 경우에는 U:드라이브)

오프라인 파일 기능이 켜져 있고 파일이 네트워크 드라이브에 백업 된 경우이 문제가 발생할 수 있습니다. 회사에서 클라우드 서비스를 선호하는 것으로 변경하면 일부 응용 프로그램에서 여전히 이전 네트워크 드라이브가 필요하지만 새 클라우드 공급자로 전환해야 할 때 프로필에 교착 상태가 발생할 수 있습니다.

NFS Client for windowsMicrosoft를 사용하는 경우 이전 네트워크 드라이브를 제거하는 방법입니다.

U:다음 단계 에 따라 드라이브를 제거하십시오 (아직 메시지는 아님).

1)로 이동-> Start Menu\Programs\Administrative Tools\Services for Network File System (NFS)

2) client for NFS항목을 마우스 오른쪽 버튼으로 클릭하고 선택하여 중지하십시오.stop service

3) 간단한 수동 제거가 작동합니다!

net use u: /delete
--> U: was deleted successfully.

창에서 이전 드라이브를 잊고 휘발성 환경을 새 구성으로 올바르게 설정하려면 다시 부팅 해야합니다 .

오류 메시지 제거 : 'FileSystem'제공자에서 InitializeDefaultDrives 조작을 수행하는 데 실패했습니다.

오류 메시지가 중지 된 상태로 나타나지 않습니다Client for NFS . 상태를 유지 manual하고 스크립트를 통해 시작하면 충분합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.