none
powershell lan scanner out of memory RRS feed

  • Вопрос

  • Powershell. Написал скрипт он хорошо работает в powergui . Но при попытке выполнить скрипт с помощью powershell получаю такую ошибку http://lh5.ggpht.com/-4cGixwJougM/Uc2cQ7yAZII/AAAAAAAAB7Q/DCYrxXkN1-k/s0/img137a75bd143935b74e00b3ae5970eb22.jpg
    вот кусок кода который вызывает проблему
    http://www.everfall.com/paste/id.php?8efu0f2mpb42
    compile_dll.ps1  - просто компилирует файл scanner.cs http://www.everfall.com/paste/id.php?dzo6l2ge5ocv
    если удалить файл
    scanner.dll
    и попытаться отработать скрипт в powershell
    данный dll компилируется заново и мы получаем другую ошибку
    http://lh5.ggpht.com/-_JaGx2Kof5E/Uc2eUuu9z5I/AAAAAAAAB7g/p945D6Ec1lI/s0/img04ae8ae893c6c57c9683b3ea799eaea2.jpg
    1 июля 2013 г. 12:56

Ответы

  • 1) С PowerShell v3,v4 проблем не возникает

    2) В PowerShell v2,но если включить задержку,то проблема исчезает.

    _host[j,i]._thread.Start(); 
    Thread.Sleep(5);

    • Помечено в качестве ответа KazunEditor 12 июля 2013 г. 4:50
    1 июля 2013 г. 17:46
    Отвечающий

Все ответы

  • 1) Если на компьютере установлен PowerShell V3,а запуск идет с PowerShell -Version 2,то можно получить ошибку с загрузкой сборки.

    2)  Исключения System.OutOfMemoryException у меня не происходит.

    PS > $hosts.count
    2550

    Другой тип решения, можно воспользоваться - Многопоточный сканер сети

    PS. Версия ОС и PowerShell?

    1 июля 2013 г. 13:21
    Отвечающий
  • win7x64
    http://lh3.ggpht.com/-pYgVp_i4phQ/UdGH4R2MBAI/AAAAAAAAB7w/UTRzL-v_LMg/s0/img94c1068b968342580a2cfc713b1bc3db.jpg

    вот ссылка на скрипт
    http://yadi.sk/d/K-_pATNa6NTrd

    многопоточный сканер на ps1 уже пробовал.
    Он кушает очень и очень много ресурсов.
    И при этом работает не очень шустро.
    Поэтому сканер написал на C# (думаю не самое лучше решение) но лучше чем на ps1
    • Изменено korggrodno3 1 июля 2013 г. 13:52 дополнил
    1 июля 2013 г. 13:50
  • 1) С PowerShell v3,v4 проблем не возникает

    2) В PowerShell v2,но если включить задержку,то проблема исчезает.

    _host[j,i]._thread.Start(); 
    Thread.Sleep(5);

    • Помечено в качестве ответа KazunEditor 12 июля 2013 г. 4:50
    1 июля 2013 г. 17:46
    Отвечающий
  • Thread.Sleep(5);

    спасибо эта строчка помогла
    2 июля 2013 г. 11:07