Мне нужно определить пользователей / сеансы, получающие доступ к общей папке на компьютере с Windows XP (SP2), с помощью сценария PowerShell (v 1.0). Это информация, отображаемая с помощью Computer Management | Системные инструменты | Общие папки | Сессии. Может ли кто-нибудь подсказать мне, как это сделать?
Я предполагаю, что для этого потребуется запрос WMI, но мой первоначальный поиск в Интернете не показал, какие будут детали запроса.
Спасибо, MagicAndi
Я придумал такой сценарий:
$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 #.