이것은 실제로 성가신 오류 입니다. '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"=""
지금까지 로밍 프로필에 문제가 있다고 결론을 내 렸습니다. 로밍 프로필이 올바른 정보로 업데이트되지 않은 이유를 아직 찾아 내야합니다.
누구든지 그러한 문제를 해결하는 방법에 대한 아이디어 / 경험이 있습니까?