0207 | Mount Network Drive อัตโนมัติตอนเปิดเครื่อง

อันที่จริงมันจะไม่ใช่เรื่องยากเลยครับ ถ้า mount ปกติเราสามารถจิ้มคลิกเอาบน my computer ได้เลยก็จริง แต่ด้วยสิทธิ์การใช้งานบน windows มันแยกเป็นหลายระดับมาก ประมาณนี้

  • Local user
  • Administrator
  • System Service

แล้วสิทธิ์การเข้าถึง network drive ของแต่ละระดับก็เป็นคนละตัวกัน เช่นตอน mount เราสั่งใน local user (จิ้มคลิกใน explorer ปกติ) เวลา elevated เป็น Administrator แล้วมันจะหา path ไม่เจอ (ฮ่วย)

แล้วก็ software server ปกติเราจะรันเป็น system service ถ้าต้อง access network drive มันจะหา path ไม่เจอ เพราะต้อง mount ด้วย system service ถึงจะเจอ (จะบ้าตาย) แล้วการ mount เป็น system service ไม่สามารถเซฟรหัสผ่านได้ (หรือเซฟได้แต่ทำผิดก็ไม่รู้) ก็เลยต้องมีทริคกันนิดหน่อยครับ ด้วย PowerShell

$User = “SERVER\username”
$PWord = ConvertTo-SecureString –String “**************” –AsPlainText -Force
$Credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $PWord
New-PSDrive -Name Z -PSProvider FileSystem -Root “\SERVER\SHAREPATH” -Credential $Credential

เซฟไอ้ด้านบนนี้เป็นไฟล์ชื่อ mount.ps1 ไว้ใน c:\ แก้ไข username, ***, SERVER\SHAREPATH ให้เรียบร้อย แล้วเปิด Group Policy Editor (run > gpedit.msc) แล้วเข้าตามนี้

group policy editor

double click “Startup” ด้านขวา แล้วกดเข้าหน้า power shell แล้วกรอกตามนี้

add script

จบ

เกลียดแม่ง !

Tags: , ,