ฉันต้องการทราบจำนวนผู้ใช้ไฟล์ที่แชร์บนคอมพิวเตอร์ของฉันและมีรายงานฉบับสมบูรณ์เกี่ยวกับเรื่องนี้
ฉันต้องการทราบจำนวนผู้ใช้ไฟล์ที่แชร์บนคอมพิวเตอร์ของฉันและมีรายงานฉบับสมบูรณ์เกี่ยวกับเรื่องนี้
คำตอบ:
เพื่อจุดประสงค์นี้ให้ไปที่File Server Managerดังภาพที่หนึ่ง ในส่วนนี้ไปที่ Run และพิมพ์
fsmgmt.msc
และกด Enter อย่างที่คุณเห็นในภาพโฟลเดอร์แชร์และจำนวนลูกค้าทั้งหมดในส่วนShareจะมองเห็นได้ นอกจากนี้คุณสามารถดูชื่อของผู้ที่เชื่อมต่อกับคอมพิวเตอร์ของคุณในส่วนการประชุมและข้อมูลเกี่ยวกับส่วนเปิดไฟล์

เช่นเดียวกับที่คุณสามารถใช้
ส่วนแบ่งสุทธิ
คำสั่งใน Windows cmd เหมือนภาพที่สอง

มีคลาส Powershell WMI สองคลาสที่สามารถใช้เพื่อรับข้อมูลนี้ได้เช่นกัน Win32_Sharesชั้นจะแสดงข้อมูลเกี่ยวกับโฟลเดอร์ที่คุณได้ใช้ร่วมกันบนคอมพิวเตอร์ของคุณหรือคอมพิวเตอร์ระยะไกลคุณ มันใช้แบบนี้:
Get-WmiObject -class Win32_Shares
หรือจากระยะไกล:
Get-WmiObject -class Win32_Shares -computerName {SERVERNAME}
นอกจากนี้คุณยังสามารถดูข้อมูลการเชื่อมต่อที่เฉพาะเจาะจงกับWin32_SessionConnectionวัตถุ มันจะแสดงข้อมูลเกี่ยวกับการเชื่อมต่อแต่ละครั้งที่ใช้งานร่วมกัน ผู้ใช้ชื่อคอมพิวเตอร์และที่อยู่ IP มันใช้แบบนี้:
Get-WmiObject -class Win32_SessionConnection -computerName {SERVERNAME} | Select Dependent
เอาต์พุตของคำสั่งถูกไพพ์ผ่านการเลือกแบบพึ่งพาเนื่องจากรายงานข้อมูลมากกว่าที่คุณต้องการสำหรับวัตถุประสงค์ของคำถามนี้ ดังนั้นคุณสามารถไพพ์ผ่านSelect-Object(ย่อให้เลือก) เพื่อดึงคุณสมบัติเฉพาะจากแต่ละอ็อบเจ็กต์ที่ส่งคืนโดยเคียวรี WMI
บนเซิร์ฟเวอร์ไฟล์ที่ใช้งานจริงของเราการเรียกใช้แบบสอบถามส่งคืน 636 การเชื่อมต่อที่ใช้งานอยู่ Measure-Objectคุณจะได้รับการนับจากท่อผลลัพธ์ของคำสั่งที่ผ่านมาผ่าน
Get-WmiObject -class Win32_SessionConnection -computerName {SERVERNAME} | Select Dependent | Measure-Object

หวังว่าคุณจะพบว่าข้อมูลนี้มีประโยชน์
ฉันใช้เวลาไปอีกเล็กน้อย ... นี่คือสิ่งที่คุณสามารถวางลงใน PowerShell เพื่อให้ได้ผลลัพธ์ที่อ่านง่ายขึ้นเล็กน้อย คุณจะต้องเรียกใช้ PowerShell ด้วยสิทธิ์ระดับสูงเพื่อเข้าถึงWin32_SessionConnectionวัตถุ อย่าลืมเปลี่ยนค่าของ$serverตัวแปรที่ด้านบนสุดของตัวอย่าง
$server = 'CHANGEME' ## <--CHANGE THIS STRING VALUE
function __construct($proparray) {
$rtnObj = new-object PSCustomObject;
$rtnObj | add-member -type noteproperty -name 'ip' -value $proparray[0];
$rtnObj | add-member -type noteproperty -name 'share' -value $proparray[1];
$rtnObj | add-member -type noteproperty -name 'user'-value $proparray[2];
return $rtnObj
}
$cnxArray = @();
gwmi win32_sessionconnection -computer $server|select dependent|% { $cnxArray += __construct([string]$_ -replace '\@\{|\}|\"|[A-Za-z\.]+=|Win32_','').split(",") }
$cnxArray;
## You may have to press enter if this last line does not process with the paste.
net fileเพื่อแสดงรายการไฟล์จากบรรทัดคำสั่ง