none
классы wmi в Windows Server 2008 RRS feed

  • Вопрос

  • Приветствую!

    Вопрос в следующем: есть ли класс wmi в w2k8 "показывающий" список открытых файлов общих ресурсов.

    Другими словами нужно получить список похожий на тот что можно увидеть в оснастке fsmgmt.msc  в разделе "открытые файлы"

    Спасибо!

     

     

Ответы

  • как вараинт, можно воспользоваться результатами работы openfiles /query /v

    см. openfiles /query /?


    blog: http://shss.wordpress.com/
    • Помечено в качестве ответа _Evgeniy 12 июля 2010 г. 9:10
    9 июля 2010 г. 11:41
  • Воспользуйтесь WMI-классом Win32_ConnectionShare. Вот пример кода, правда, не на скрипте, но попробуйте сделать по аналогии.


    Не работает :-( Выдает только шары. Не знаю такого класса 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

     

    Еще вариант:

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

     


    Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/

     

    • Помечено в качестве ответа _Evgeniy 12 июля 2010 г. 9:10
    9 июля 2010 г. 11:47
    Модератор

Все ответы

  • Воспользуйтесь WMI-классом Win32_ConnectionShare. Вот пример кода, правда, не на скрипте, но попробуйте сделать по аналогии.
    9 июля 2010 г. 10:01
    Модератор
  • как вараинт, можно воспользоваться результатами работы openfiles /query /v

    см. openfiles /query /?


    blog: http://shss.wordpress.com/
    • Помечено в качестве ответа _Evgeniy 12 июля 2010 г. 9:10
    9 июля 2010 г. 11:41
  • Воспользуйтесь WMI-классом Win32_ConnectionShare. Вот пример кода, правда, не на скрипте, но попробуйте сделать по аналогии.


    Не работает :-( Выдает только шары. Не знаю такого класса 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

     

    Еще вариант:

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

     


    Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/

     

    • Помечено в качестве ответа _Evgeniy 12 июля 2010 г. 9:10
    9 июля 2010 г. 11:47
    Модератор
  • Извиняюсь, за то что пишу здесь (другого способа связи не нашел)

    Илья, у вас в блоге, куда вы запостили вышеприведенные примеры, вкралась опечатка: в копии блога на  itcommunity есть такая фраза - "Здесь собраны варианты, как получить список удаленных файлов на удаленном компьютере"

    ЗЫ И вдогонку: вариант 3 выглядит несколько странным. Openfiles Можно использовать в чистом виде, указав имя удаленного компьютера, в качестве одного из его стандартных параметров запуска:

    openfiles /query /s server_name /v


    blog: http://shss.wordpress.com/
    16 июля 2010 г. 7:24
  • Спасибо за замечания, Сергей.

    Опечатка была исправлена сразу, но зеркалирование на ITCommunity работает не совсем корректно - сейчас ручками обновил.

    Ваш вариант тоже внес - спасибо за уточнение.

    Кстати на ITCommunity есть отправка сообщения автору поста, да и в оригинальном блоге можно оставить комментарий.


    Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/
    20 июля 2010 г. 4:50
    Модератор