Wednesday, October 31, 2007

Share folder with Net.exe and Rmtshare.exe

การแชร์โฟลเดอร์ด้วยคำสั่ง Net.exe และ Rmtshare.exe
คำสั่ง net.exe นั้น เป็นคำสั่งเอนกประสงค์ ซึ่งสามารถนำไปประยุกต์ใช้งานในหลากหลาย ซึ่งผมเองได้เคยเขียนถึงการใช้งาน net user ซึ่งสามารถอ่านได้จาก Create new user from command prompt และ การใช้งาน net localgroup ซึ่งสามารถอ่านได้จาก Manage user's group with Net localgroup ไปแล้ว ยังขาดคำสั่งที่สำคัญอีกหนึ่งตัว คือ net share ซึ่งใช้ในการสร้างแชร์โฟลเดอร์

คำสั่ง Net share
ดังที่ได้บอกไปแล้วว่า คำสั่ง net.exe นั้น เป็นคำสั่งหลักที่ผมใช้ในงานจัดการยูสเซอร์ ทั้งบนเครื่องไคลเอนท์หรือเซิร์ฟเวอร์ นอกจากนี้แล้ว ในบางครั้งผมก็จะใช้คำสั่ง net share ในการจัดการแชร์โฟล์เดอร์ เช่นกัน แต่เนื่องจากคำสั่ง net share นั้น ค่อนข้างมีข้อจำกัดอยู่ คือไม่สามารถทำการสร้างแชร์บนเครื่องรีโมตคอมพิวเตอร์ได้ มันจึงใช้งานได้ดีเฉพาะการแชร์โฟลเดอร์แบบโลคอลเท่านั้น หากต้องการทำการสน้างแชร์แบบรีโมตจากคอมมานด์ไลน์ ก็ต้องใช้โปรแกรม rmtshare.exe เข้ามาช่วย คำสั่ง rmtshare.exe นั้น นอกจากจะสามารถทำการสร้างแชร์โฟลเดอร์บนเครื่องรีโมตคอมพิวเตอร์ได้แล้ว ยังสามารถปรับแต่ง permission ของการแชร์ได้อีกด้วย

การใช้งานคำสั่ง Net share
ในการสร้างแชร์โฟลเดอร์จากคอมมานด์ไลน์ด้วยคำสั่ง net นั้น จะใช้คู่กับพารามิเตอร์ share แล้วตามด้วย options ต่างๆ ที่ต้องการกำหนดให้กับการแชร์ที่สร้างขึ้น และหากทำการรันคำสั่ง net share โดยไม่มีพารามิเตอร์นั้น ระบบก็จะแสดงแชร์โฟลเดอร์ของเครื่อง

ตัวอย่าง 1:
1. ต้องการดูซินเท็กซ์การใช้งานของคำสั่ง Net share ให้ทำการรันคำสั่งที่คอมมานด์พร็อมพท์ดังนี้
net share /? หรือ net share /help

2. ต้องการดูว่าเครื่องมีการแชร์โฟลเดอร์อะไรอยู่บ้าง ให้ทำการรันคำสั่ง Net share ที่คอมมานด์พร็อมพท์ โดยไม่มีพารามิเตอร์ดังนี้
net share

ตัวอย่าง 2:
1. ทำการแชร์โฟลเดอร์ชื่อ "C:\test1" มี User limit เท่ากับ 5 และใส่คอมเมนต์ "Test Share" ให้ทำการรันคำสั่งที่คอมมานด์พร็อมพท์ดังนี้
net share test1=C:\test1 /users:5 /remark:"Test Share"

2. ยกเลิกการแชร์โฟลเดอร์ที่ชื่อ "test1" ให้ทำการรันคำสั่งที่คอมมานด์พร็อมพท์ดังนี้
net share test1 /delete

ข้อจำกัดของคำสั่ง Net share
การแชร์โฟลเดอร์โดยใช่คำสั่ง net share นั้น ถึงแม้ว่าจะทำงานได้เป็นอย่างดี แต่ก็ยังมีข้อจำกัด คือ ไม่สามารถทำการสร้างแชร์บนเครื่องรีโมตคอมพิวเตอร์ได้ และไม่สามารถทำการกำหนดหรือแก้ไขระดับสิทธิ์ของยูสเซอร์ได้ เนื่องจากการแชร์ด้วยคำสั่ง Net share นั้นจะกำหนดสิทธิ์ให้ทุกทน (Everyone) ในระดับฟูลคอนโทรล (Full Control) นั้นคือ หากต้องการกำหนดหรือแก้ไขสิทธิ์เป็นอย่างอื่น ต้องทำจากหน้า Windows Explorer หรือจาก Computer Management

ข้ามข้อจำกัดด้วย Rmtshare.exe
จากข้อจำกัดเรื่องการกำหนดระดับสิทธิ์ของคำสั่ง net share ไมโครซอฟต์จึงได้ออกโปรแกรมเครื่องมือชื่อ Rmtshare.exe เพื่ออหนวยความสะดวกในการทำการแชร์โฟลเดอร์จากคอมมานด์ไลน์ โดยสามารถทำการดาวน์โหลด Rmtshar.exe ได้จาก ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt40/i386/ เนื่องจากไฟล์ที่ได้นั้นจะถูกซิพอยู่ ดังนั้นหลังจากทำการดาวน์โหลดเสร็จแล้วให้ทำการแตกไฟล์ก่อนจึงจะสามารถใช้งานได้ ซึ่งจะได้ไฟล์ rmtshare.exe กับไฟล์ readme.txt

เนื่องจากคำสั่ง rmtshare.exe นั้นจะทำงานแบบรีโมต ดังนั้นในการทำงานจึงต้องระบุเครื่องที่จะให้มันทำงาน หากต้องการให้ทำงานบนเครื่องที่รันคำสั่ง สามารถระบุเป็น %computername% และถ้าหากทำการรันคำสั่ง rmtshare.exe โดยไม่ใส่พารามิเตอร์ใดๆ ก็จะแสดงซินเท็กซ์การใช้งานของคำสั่ง rmtshare.exe

ตัวอย่าง 3: การแชร์โฟลเดอร์บนเครื่องโลคอลด้วย rmtshare.exe
1. ทำการแชร์โฟลเดอร์ชื่อ "C:\test2" ที่อยู่บนเครื่องโลคอล กำหนด User limit เท่ากับ 5 และใส่คอมเมนต์ "Test Share2" ให้ทำการรันคำสั่งที่คอมมานด์พร็อมพท์ดังนี้
rmtshare.exe \\%computername%\test2=C:\test2 /users:5 /remark:"Test2 Share2"

2. ทำการเพิ่มสิทธิ์ในการเข้าใช้งานแชร์โฟลเดอร์ "test2" ที่อยู่บนเครื่องโลคอล ให้กับกลุ่ม Adminsitrators ให้มีสิทธิ์แบบฟูล และกลุ่ม Users ให้มีสิทธิ์แบบอ่านอย่างเดียว ให้ทำการรันคำสั่งที่คอมมานด์พร็อมพท์ดังนี้
rmtshare.exe \\%computername%\test2 /grant administrators:full /grant users:read

3. ทำการยกเลิกสิทธิ์ในการเข้าใช้งานแชร์โฟลเดอร์ "test2" ที่อยู่บนเครื่องโลคอล ของกลุ่ม Users ให้ทำการรันคำสั่งที่คอมมานด์พร็อมพท์ดังนี้
rmtshare.exe \\%computername%\test2 /remove users

ตัวอย่าง 4: การแชร์โฟลเดอร์บนเครื่องรีโมตคอมพิวเตอร์ด้วย rmtshare.exe
1. ทำการแชร์โฟลเดอร์ชื่อ "C:\test2" ที่อยู่บนเครื่องคอมพิวเตอร์ชื่อ net2 และกำหนดสิทธิ์ในการเข้าใช้งานแชร์โฟลเดอร์ "test2" ที่อยู่บนเครื่อง net2 ให้กลุ่ม Adminsitrators ให้มีสิทธิ์แบบฟูล และกลุ่ม Users ให้มีสิทธิ์แบบอ่านอย่างเดียว ให้ทำการรันคำสั่งที่คอมมานด์พร็อมพท์ดังนี้
rmtshare.exe \\net2\test2 /grant administrators:full /grant users:read

2. ทำการยกเลิกสิทธิ์ในการเข้าใช้งานแชร์โฟลเดอร์ "test2" ที่อยู่บนเครื่อง net2 ของกลุ่ม Users ให้ทำการรันคำสั่งที่คอมมานด์พร็อมพท์ดังนี้
rmtshare.exe \\net2\test2 /remove users

หมายเหตุ:
1. การเปิดหน้าต่างคอมมานด์ไลน์ ให้ดำเนินการดังนี้
คลิกเม้าส์ที่ปุ่ม Start คลิก Run พิมพ์ cmd แล้วกดปุ่ม Enter


Keywords: Net share rmtshare.exe remote share windows

© 2007 Thai Windows Administrator, All Rights Reserved.

0 Comment: