Determinar usuários acessando uma pasta compartilhada usando o PowerShell

2

Eu preciso determinar os usuários / sessões que acessam uma pasta compartilhada em uma máquina com Windows XP (SP2) usando um script do PowerShell (v 1.0). Esta é a informação exibida usando o Gerenciamento do Computador | Ferramentas do sistema | Pastas Compartilhadas | Sessões Alguém pode me dar dicas sobre como fazer isso?

Suponho que isso exigirá uma consulta WMI, mas minha pesquisa inicial on-line não revelou quais serão os detalhes da consulta.

Obrigado, MagicAndi

    
por MagicAndi 25.11.2009 / 10:50

1 resposta

3

Eu criei o seguinte script:

$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
}

Os seguintes artigos foram úteis:

Como sempre, se você não conseguir encontrar uma maneira de fazer isso no PowerShell, veja se alguém fez algo semelhante em C #.

    
por 25.11.2009 / 11:29