2009-11-25 106 views
2

我需要使用PowerShell腳本(v 1.0)確定訪問Windows XP(SP2)計算機上的共享文件夾的用戶/會話。這是使用計算機管理|顯示的信息系統工具|共享文件夾|會話。任何人都可以給我指導如何去做這件事?確定用戶使用PowerShell訪問共享文件夾

我猜這將需要一個WMI查詢,但我最初的在線搜索沒有透露什麼查詢的細節。

感謝,MagicAndi

回答

3

我想出了下面的腳本:

$computer = "LocalHost" 
$namespace = "root\CIMV2" 
$userSessions = Get-WmiObject -class Win32_ServerConnection -computername $computer -namespace $namespace 

if($userSessions -ne $null) 
{ 
    Write-Host "The following users are connected to your PC: " 

    foreach ($userSession in $userSessions) 
    { 
     $userDetails = [string]::Format("User {0} from machine {1} on share: {2}", $userSession.UserName, $userSession.ComputerName, $userSession.ShareName) 
     Write-Host $userDetails 
    }  

    Read-Host 
} 

下面的文章是有用的:

與往常一樣,如果您在PowerShell中找不到方法,請查看是否有人在C#中做了類似的事情。

+1

我喜歡這個解決方案 - 只要記住「交互式」使用,「網絡會話」就更快。 – 2009-11-25 19:32:55

+0

@MagicAndi:Read-Host的存在導致腳本暫停。你對這條線的計劃是什麼? – Robin 2014-09-16 09:57:58

+0

Rob,爲了回答你的問題......最後的讀主機在運行這個腳本時不會自動關閉控制檯窗口,以便你能看到輸出。這隻有在您通過雙擊它從資源管理器窗口運行腳本時纔是必需的。希望到目前爲止,你已經知道了這一點,但對於任何可能會遇到這個問題的人.....你去了。 – Dimesio 2015-06-03 20:59:02

相關問題