четверг, 15 июля 2010 г.

Получить список открытых файлов на удаленном сервере

http://sazonov.spaces.live.com/Blog/cns!C80884C5BEC6A15D!277.entry?wa=wsignin1.0&sa=508675381

Здесь собраны варианты, как получить список открытых файлов на удаленном компьютере.
Вариант 1. Используем WMI

$server = "server"
$command = 'cmd /k net file > c:\openfiles.txt'
([wmiclass]"\\$server\root\cimv2:Win32_Process").create($command)
Start-Sleep 2
Invoke-Item \\$server\c$\openfiles.txt
# Remove-Item \\$server\c$\openfiles.txt


__________________________________________________________

Вариант 2. Используем ADSI.

$server = "server"
$adsi = [adsi]"WinNT://$server/LanmanServer"
$users = $adsi.psbase.invoke("resources") | foreach {$_.gettype().invokeMember("user","GetProperty",$null,$_,$null)}
$paths = $adsi.psbase.invoke("resources") | foreach {$_.gettype().invokeMember("path","GetProperty",$null,$_,$null)}
for($i = 0;$i -lt $users.length; $i++) { "{0}: {1}" -f $users[$i],$paths[$i] }

_____________________________________________________________

Вариант 3. Используем WS-Management.

winrm -r:fs C:\Windows\System32\openfiles.exe

____________________________________________________________

Дополнение. Шары открытые пользователями.

Get-WmiObject -ComputerName $server win32_serverconnection | Format-Table connectionid,username,computername,sharename,activetime,number* -auto

Комментариев нет:

Отправить комментарий