Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

ไดรฟ์เครือข่ายที่แมปไม่แสดงในโปรแกรมระดับสูง

หากคุณกำลังใช้ไดรฟ์เครือข่ายที่แมป คุณอาจสังเกตเห็นว่าไม่แสดงในแอปที่ทำงานด้วยสิทธิ์ของผู้ดูแลระบบ (รวมถึง cmd และ PowerShell) การควบคุมบัญชีผู้ใช้ (UAC) เริ่มต้น การตั้งค่าไม่อนุญาตให้เข้าถึงไดรฟ์เครือข่ายที่แมป (ผ่าน net use ) จากแอปพลิเคชันที่ทำงานในโหมดยกระดับ (เรียกใช้ในฐานะผู้ดูแลระบบ) ซึ่งหมายความว่าเมื่อคุณเรียกใช้พรอมต์คำสั่งหรือตัวจัดการไฟล์ (เช่น Total Commander) ที่มีสิทธิ์ระดับสูง พวกเขาจะไม่แสดงอักษรชื่อไดรฟ์ของโฟลเดอร์ที่ใช้ร่วมกันที่ติดตั้งไว้

คุณอาจประสบปัญหาดังกล่าวหากเงื่อนไขต่อไปนี้เป็นจริง:

  • ไดรฟ์เครือข่ายถูกแมปในเซสชันของผู้ใช้ (ผ่าน GPO หรือด้วยตนเองผ่าน net use );
  • UAC ถูกเปิดใช้งานบนคอมพิวเตอร์ (พารามิเตอร์ GPO การควบคุมบัญชีผู้ใช้:พฤติกรรมของข้อความแจ้งการยกระดับสำหรับผู้ดูแลระบบในโหมดการอนุมัติของผู้ดูแลระบบ ถูกตั้งค่าเป็นค่าเริ่มต้น "พร้อมท์สำหรับข้อมูลประจำตัว"); ไดรฟ์เครือข่ายที่แมปไม่แสดงในโปรแกรมระดับสูง
  • ผู้ใช้ปัจจุบันมีสิทธิ์ผู้ดูแลระบบภายในเครื่องบนคอมพิวเตอร์และเรียกใช้แอปในโหมด "เรียกใช้ในฐานะผู้ดูแลระบบ"

ในกรณีนี้ ไดรฟ์เครือข่ายจะแสดงใน Windows File Explorer และในแอป แต่จะไม่แสดงในแอปพลิเคชันใดๆ ที่ทำงานในโหมดยกระดับ

ในบทความนี้ เราจะแสดงวิธีอนุญาตการเข้าถึงไดรฟ์เครือข่ายที่แมปจากแอปที่ทำงานในโหมดยกระดับบน Windows 10 ปัญหานี้เกิดขึ้นทั้งกับไดรฟ์เครือข่ายที่แมปผ่านนโยบายกลุ่มและสำหรับโฟลเดอร์ที่ผู้ใช้เชื่อมต่อ

สำคัญ . ไม่แนะนำอย่างยิ่งให้ปิดการใช้งาน UAC อย่างสมบูรณ์ แม้กระทั่งสำหรับโปรแกรมเฉพาะ

ไดรฟ์เครือข่ายที่แมปไม่แสดงในแอป Windows

ให้ตรวจสอบว่าคุณไม่สามารถเข้าถึงไดรฟ์เครือข่ายที่แมปซึ่งเชื่อมต่อในโหมดปกติจากแอปพลิเคชันที่ยกระดับโดยเปิดใช้งาน UAC ตัวอย่างเช่น ให้เปิดพรอมต์คำสั่งที่มีสิทธิ์ของผู้ใช้และตรวจสอบว่าคุณสามารถเข้าถึงเนื้อหาของไดรฟ์เครือข่ายที่แมป Z:\

Net use
Dir z:

คำสั่งควรแสดงรายการเนื้อหาของโฟลเดอร์เครือข่ายที่ใช้ร่วมกัน

ไดรฟ์เครือข่ายที่แมปไม่แสดงในโปรแกรมระดับสูง

หากคุณเปิดพรอมต์คำสั่งในเซสชันปัจจุบันในฐานะผู้ดูแลระบบ และพยายามเข้าถึงไดรฟ์เดียวกัน คุณจะได้รับข้อความว่าไม่พบเส้นทางไปยังไดรฟ์:

The system cannot find the path specified.

ไดรฟ์เครือข่ายที่แมปไม่แสดงในโปรแกรมระดับสูง

ลักษณะการทำงานนี้ของ Windows อาจทำให้เกิดความไม่สะดวกบางอย่างเมื่อคุณเรียกใช้แอปพลิเคชันในโหมดยกระดับบ่อยครั้ง เป็นไปได้ที่จะเรียกใช้แอปพลิเคชันโดยไม่มีสิทธิ์ของผู้ดูแลระบบ แต่ไม่สามารถใช้ได้เสมอไป

ทำไมมันถึงเกิดขึ้น ลักษณะเฉพาะนี้เกี่ยวข้องกับกลไก UAC สำหรับผู้ใช้ที่มีสิทธิ์ของผู้ดูแลระบบในพื้นที่ ประเด็นคือเมื่อผู้ใช้เข้าสู่ระบบ จะมีการสร้างโทเค็นการเข้าถึงสองโทเค็น:โทเค็นแรกให้การเข้าถึงที่มีสิทธิ์ของผู้ดูแลระบบที่ปิดใช้งาน (โทเค็นการเข้าถึงที่กรองซึ่งแอปส่วนใหญ่ทำงานอยู่) และที่สองคือโทเค็นผู้ดูแลระบบที่มีสิทธิ์เต็มรูปแบบ ในระบบ (แอปทั้งหมดที่อนุมัติให้ยกระดับโดย UAC กำลังทำงานอยู่ในบริบทนี้)

คุณสามารถใช้ whoami /all คำสั่งในสองเซสชัน cmd.exe (ปกติและยกระดับ) ของผู้ใช้คนเดียวกันและเปรียบเทียบสิทธิ์ปัจจุบันคุณจะเห็นว่าแตกต่างกันมาก ตารางต่อไปนี้แสดงรายการความแตกต่างในกลุ่มความปลอดภัยและสิทธิ์ปัจจุบันในแต่ละเซสชัน

เซสชันผู้ใช้ปกติElevated user sessionSecurity group

ฉลากบังคับ \ ป้ายระดับกลางบังคับ S-1-16-8192 ติดฉลาก \ ฉลากระดับสูงบังคับระดับ S-1-16-12288PrivileGessELockMemoryPrivilege

SeMachineAccountPrivilege

SeShutdownPrivilege

SeChangeNotifyPrivilege

SeUndockPrivilege

SeIncreaseWorkingSetPrivilege

SeTimeZonePrivilegeSeLockMemoryPrivilege

SeIncreaseQuotaPrivilege

SeMachineAccountPrivilege

SeSecurityPrivilege

SeTakeOwnershipPrivilege

SeLoadDriverPrivilege

SeSystemProfilePrivilege

SeSystemtimePrivilege

SeProfileSingleProcessPrivilege

SeIncreaseBasePriorityPrivilege

SeCreatePagefilePrivilege

SeBackupPrivilege

SeRestorePrivilege

SeShutdownPrivilege

SeSystemEnvironmentPrivilege

SeChangeNotifyPrivilege

SeRemoteShutdownPrivilege

SeUndockPrivilege

SeManageVolumePrivilege

SeImpersonatePrivilege

SeCreateGlobalPrivilege

SeIncreaseWorkingSetPrivilege

SeTimeZonePrivilege

SeCreateSymbolicLinkPrivilege

SeDelegateSessionUserImpersonatePrivilege

ไดรฟ์เครือข่ายที่แมปไม่แสดงในโปรแกรมระดับสูง

แอปพลิเคชันภายใต้ผู้ใช้รายเดียวกันอาจทำงานในสองบริบทเมื่อเปิดใช้งาน UAC (มีสิทธิ์และไม่มีสิทธิ์) เมื่อคุณจับคู่โฟลเดอร์เครือข่ายที่ใช้ร่วมกัน ระบบจะสร้างลิงก์สัญลักษณ์ (DosDevices) ที่จัดเก็บการแมปอักษรชื่อไดรฟ์ไปยังเส้นทาง UNC ลิงก์เหล่านี้เชื่อมโยงกับโทเค็นการเข้าถึงกระบวนการปัจจุบัน และไม่มีให้สำหรับโทเค็นอื่น

ปัญหาย้อนกลับอาจเกิดขึ้น:เมื่อผู้ใช้ที่มีสิทธิ์ของผู้ดูแลระบบบนคอมพิวเตอร์กำลังเชื่อมต่อไดรฟ์เครือข่ายโดยใช้สคริปต์การเข้าสู่ระบบของนโยบายกลุ่ม งานที่กำหนดเวลาไว้ หรืองาน SCCM (ซึ่งทำงานโดยใช้สิทธิ์ระดับสูง) ผู้ใช้จะไม่สามารถมองเห็นไดรฟ์เหล่านี้ได้ File Explorer (กระบวนการที่ไม่มีสิทธิพิเศษ)

เคล็ดลับ . คุณสามารถใช้เคล็ดลับง่ายๆ เพื่อเรียกใช้ File Explorer ใน Windows ด้วยสิทธิ์ของผู้ดูแลระบบ (ยกระดับ)

วิธีแก้ปัญหา คุณสามารถต่อเชื่อมไดรฟ์เครือข่ายจากพรอมต์คำสั่งที่ยกระดับได้โดยใช้คำสั่ง:net use หรือ rundll32 SHELL32.dll,SHHelpShortcuts_RunDLL Connect .

Enablelinkedconnections:เปิดใช้งานไดรฟ์ที่แมปในแอประดับสูง

มีวิธีแก้ปัญหาที่ง่ายกว่า ในการใช้งาน คุณต้องทำการเปลี่ยนแปลงบางอย่างในรีจิสทรี:

  1. เปิดตัวแก้ไขรีจิสทรี (regedit.exe );
  2. ไปที่รีจิสตรีคีย์ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System;
  3. สร้างพารามิเตอร์ใหม่ (ประเภท DWORD) ด้วยชื่อ EnableLinkedConnections และค่า 1; ไดรฟ์เครือข่ายที่แมปไม่แสดงในโปรแกรมระดับสูง เคล็ดลับ . การเปลี่ยนแปลงเดียวกันสามารถทำได้ด้วยคำสั่งเดียว:reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v "EnableLinkedConnections" /t REG_DWORD /d 0x00000001 /f หรือด้วย PowerShell:
    New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System' -Name EnableLinkedConnections -Value 1 -PropertyType 'DWord'
  4. รีสตาร์ทคอมพิวเตอร์ของคุณ (หรือเริ่มบริการ LanmanWorkstation ด้วยคำสั่ง:get-service LanmanWorkstation |Restart-Service –Force และล็อกออน Windows ใหม่)

หลังจากรีสตาร์ทคอมพิวเตอร์ ตรวจสอบให้แน่ใจว่าผู้ใช้สามารถเห็นไดรฟ์เครือข่ายที่แมปในโปรแกรมที่ทำงานด้วยสิทธิ์ของผู้ดูแลระบบ คำสั่งย้อนกลับเป็นจริง:ไดรฟ์เครือข่ายทั้งหมดที่แมปในโหมดยกระดับจะพร้อมใช้งานในเซสชันผู้ใช้ที่ไม่มีสิทธิพิเศษด้วย

ใช้งานได้กับ Windows ทุกรุ่นตั้งแต่ Vista จนถึง Windows 10/Windows Server 2019

ไดรฟ์เครือข่ายที่แมปไม่แสดงในโปรแกรมระดับสูง

หมายเหตุ . ขออภัย ไม่มีการตั้งค่า GPO เพื่อเปิดใช้งานโหมด EnableLinkedConnections หากต้องการใช้การตั้งค่านี้กับคอมพิวเตอร์โดเมน คุณต้องปรับใช้พารามิเตอร์รีจิสทรีนี้ผ่าน GPP

มันทำงานอย่างไร หลังจากที่คุณเปิดใช้งาน EnableLinkedConnections พารามิเตอร์รีจิสทรี LanmanWorkstation และ LSA (lsass.exe) จะตรวจสอบโทเค็นการเข้าถึงที่สองที่เกี่ยวข้องกับเซสชันของผู้ใช้ปัจจุบัน หากพบโทเค็นนี้ รายการของไดรฟ์เครือข่ายที่แมปจะถูกคัดลอกจากโทเค็นหนึ่งไปยังอีกโทเค็นหนึ่ง ดังนั้น ไดรฟ์เครือข่ายที่แมปในโหมดสิทธิพิเศษจะมองเห็นได้ในโหมดปกติ และในทางกลับกัน

เคล็ดลับ . คุณสามารถสร้างลิงก์สัญลักษณ์ไปยังโฟลเดอร์เครือข่ายที่ใช้ร่วมกันเป้าหมายได้ ตัวอย่างเช่น:

mklink /D c:\docs \\dublin-fs1\docs

คุณสามารถเข้าถึงไดรฟ์นี้ได้ทั้งในโหมดปกติและโหมดยกระดับ ควรสังเกตว่าหนึ่งในข้อเสียของวิธีนี้คือคุณเข้าถึงโฟลเดอร์ที่ใช้ร่วมกันในฐานะผู้ใช้ปัจจุบัน ไม่สามารถใช้บัญชีของผู้ใช้รายอื่นได้เช่นเดียวกับกรณี net use สั่งการ.

หลังจากเปิดใช้งานพารามิเตอร์ EnableLinkedConnections ไดรฟ์ที่แมปจะพร้อมใช้งานจากงานที่กำหนดเวลาไว้ซึ่งเปิดใช้งานภายใต้ผู้ใช้ปัจจุบัน หากงานถูกเรียกใช้เป็น LocalSystem หรือผู้ใช้รายอื่น ไดรฟ์เครือข่ายที่แมปของผู้ใช้ปัจจุบันจะไม่พร้อมใช้งาน