ค้นหาเว็บไซต์

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


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

net use

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

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

  • ไดรฟ์เครือข่ายถูกแมปในเซสชันของผู้ใช้ (ผ่าน GPO หรือด้วยตนเองผ่าน

    net use

    );

  • UAC เปิดใช้งานบนคอมพิวเตอร์ (พารามิเตอร์ GPO การควบคุมบัญชีผู้ใช้: พฤติกรรมของการแจ้งเตือนการยกระดับสำหรับผู้ดูแลระบบในโหมดการอนุมัติของผู้ดูแลระบบ ถูกตั้งค่าเป็นค่าเริ่มต้น “แจ้งข้อมูลรับรอง”)

  • ผู้ใช้ปัจจุบันมีสิทธิ์ของผู้ดูแลระบบในคอมพิวเตอร์และเรียกใช้แอปในโหมด "เรียกใช้ในฐานะผู้ดูแลระบบ"

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

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

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

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

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

Net use
Dir z:

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

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

The system cannot find the path specified.

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

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

คุณสามารถใช้ได้

whoami /all

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

Normal user sessionElevated user session
Security group 

Mandatory Label\Medium Mandatory Level Label S-1-16-8192

Mandatory Label\High Mandatory Level Label S-1-16-12288
PrivilegesSeLockMemoryPrivilege

SeMachineAccountPrivilege

SeShutdownPrivilege

SeChangeNotifyPrivilege

SeUndockPrivilege

SeIncreaseWorkingSetPrivilege

SeTimeZonePrivilege

SeLockMemoryPrivilege

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 ลิงก์เหล่านี้เชื่อมโยงกับโทเค็นการเข้าถึงกระบวนการปัจจุบัน และไม่สามารถใช้ได้สำหรับโทเค็นอื่นๆ

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

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

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

net use

หรือ

rundll32 SHELL32.dll,SHHelpShortcuts_RunDLL Connect

Enablelinkedconnections: เปิดใช้งาน Mapped Drives ในแอพ Elevated

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

  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 หรือผู้ใช้รายอื่น ไดรฟ์เครือข่ายที่แมปของผู้ใช้ปัจจุบันจะไม่สามารถใช้งานได้

บทความที่เกี่ยวข้อง