ฉันจะมีรายงานฉบับสมบูรณ์เกี่ยวกับสถานะของโฟลเดอร์ที่แชร์ใน Windows 7 ได้อย่างไร


5

ฉันต้องการทราบจำนวนผู้ใช้ไฟล์ที่แชร์บนคอมพิวเตอร์ของฉันและมีรายงานฉบับสมบูรณ์เกี่ยวกับเรื่องนี้

คำตอบ:


7

เพื่อจุดประสงค์นี้ให้ไปที่File Server Managerดังภาพที่หนึ่ง ในส่วนนี้ไปที่ Run และพิมพ์

fsmgmt.msc

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

ภาพที่ 1

เช่นเดียวกับที่คุณสามารถใช้

ส่วนแบ่งสุทธิ

คำสั่งใน Windows cmd เหมือนภาพที่สอง

ภาพที่ 2


คุณยังสามารถใช้net fileเพื่อแสดงรายการไฟล์จากบรรทัดคำสั่ง
wmz

3

มีคลาส 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.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.