попробуйте освобождать переменные от содержимого и удалять их когда они уже не нужны - $a = $null; remove-variable a. в нескольких местах скрипта и обязательно после "освобождения" переменных попробуйте добавить вызов системного дворника - [System.GC]::Collect(). в остальном, даже не знаю что посоветовать, кроме как не оставлять скрипты работать постоянно, но это не выход в вашей ситуации, похоже.
кстати, про подводные камни. в нотпаде если пойти в меню хелп, смотреть хелп, то у открывшегося окошка родитель будет не нотпад, а свцхост... само собой ВАСПовский скрипт его не увидит ибо оно никакого отношения к нотпаду не имеет хоть и было из него запущено. также будет и с однострочником - родительский процесс не нотпад, так что он ничего не найдет.
а если поставить юзверей перед фактом - 15/30 или сколько там минут не пользуются СЕДом - будут выкинуты?
а про менюшки, я тут покопался на досуге. есть такая фигня, ВАСП называется. просто модуль к повершелу: https://wasp.codeplex.com/. он слегка облегчает работу с окошками и элементами окошек. ставим его.
для примера берем нотпад, запускаем его.
в ИСЕ повершеловском пишем:
import-module wasp
do
{
Select-Window | where processname -Match notepad | Select-ChildWindow; Start-Sleep -Milliseconds 500
}
while($true)
запускаем этот бесконечный скрипт. идем в нотпад и открываем меню файл или любое другое. можно диалог открытия файла открыть. в процессе поглйдываем в ИСЕ - там с задержкой в полсекунды будут показаны хендл,имя окна (если есть) и класс окна/меню.
теперь к вопросу как определить если пользователь открыл файл в другом приложении из, допустим, диалога открытия файла нотпада (меню открыть, сменить отображение на все файлы, правой кнопкой на вордовский файл, открыть).
gwmi win32_process | where {(get-process -id $_.parentprocessid -ErrorAction SilentlyContinue).ProcessName -match "notepad"} | select name
этот однострочник даст список процессов, у которых родительский процесс содержит строку "нотпад". в случае с выше приведенным примером список будет содержать винворд.ехе.
а теперь самое главное - два этих куска выше нужно подогнать и запихнуть в логику, которая позволит достигнуть задуманного. без доступа к вашей СЭД я не смогу написать такую логику, но если я правильно понимаю задачу и примеры выше не содержат подводных камней - у вас теперь есть все компоненты для написания такой логики.
нашел кучу однострочников с безусловной заменой. но как только вставляю туда условие, происходит то, что вы описали - в конечный файл попадают только строки удовлетворяющие условию. глюк какой-то...
ок, в заменяемых айпишниках в каком-либо октете адреса есть только одна цифра? т.е. такие айпишники есть в конфигах - х.х.х.х или ххх.ххх.х.х или хх.хх.хх.х? или во всех файлах айпишники с минимум двумя цифрами на октет - хх.ххх.хх.хх или ххх.ххх.хх.хх?
нужно через регулярку найти способ отличать версии (х.х.х.х) и айпишники.
тогда делим файлы по типам и пишем два (или сколько там типов файлов) скрипта для каждого типа файлов. в теории можно написать логику, которая будет понимать что за файл она парсит и парсить каждый тип файла по-разному. однако это займет значительно больше времени, чем написать скрипт для каждого типа файлов.
для хмл файлов то, что я предложил работает как надо?
сомневаюсь, что пломбу поставил завод. у них на сайте в руководстве по эксплуатации написано как внутрь залезть. смысл ставить пломбу и объяснять как залезть под нее? да и сколько я ни поддерживал их ноуты - никаких пломб никогда не было. http://www.dell.com/support/manuals/us/en/04/vostr...
думаю пломбой вам магазин нашкодил или вы принимаете за пломбу что-то, что пломбой не является. ;)
да, любой фирмы. технические параметры поддерживаемых модулей памяти я описал в первом ответе.
в теории, если планки разных частот, то обе будут работать на частоте более медленной из них, но я бы рекомендовал воздержаться от таких экспериментов. спецификация говорит 1600 - просто используйте 1600.
если учесть, что единственная частота памяти, указанная в спецификациях 1600, то память в ноуте сейчас скорее всего 1600. ;)
странный вопрос, учитывая, что вы не сказали сколько и каких модулей там уже есть. ;) если вы про гарантию - это стоит выяснить у тех, кто его вам продал и, в случае чего, будет принимать на гарантийный ремонт, но это было бы свинством, по любым меркам, если бы вы не могли добавить памяти в свой ноутбук.