Griboks, На сколько я понимаю, каких-то конкретных правил написания/произношения заимствованных слов нет.
В конечном итоге устаканивается какой-то вариант, он становится общепринятым и тогда, возможно, он будет официально включен в какое-то правило или исключение из правил :-)
Да и то в дальнейшем может поменяться - вспомним про "кофе".
Сейчас про около компьютерные термины еще рано говорить, что что-то из этого стало общепринятым написанием/произношением - времени по меркам развития языка прошло еще слишком мало.
Поэтому имеем то, что имеем - каждый пока пишет/говорит так как ему удобно и кажется правильным.
PS: Я ни разу не специалист по русскому языку - прочитал несколько статей по случаю.
На мой взгляд, и линукс и винда - женского рода - операционная система.
Например, если написать: "Операционная система Линукс ", то дальше в предложении будет не правильно говорить о Линуксе в мужском роде.
Если это dll, то файл не то что бы большой. Большой - это когда несколько гигабайт и в память не влазит - вот это проблема.
cmd скрипт - для этого точно не подойдет, т.к. работают с файлами как с текстом - это подразумевает определенные преобразования при чтении и записи, поэтому на выходе можете получить (и скорее всего получите) файл, который нельзя будет исполнить.
Скорее всего с sed, grep и т.п. утилитами такая же история.
В vbs и js в объекте FileSystemObject так же нет методов работы с двоичными файлами.
Вам нужно использовать объект ADODB.Stream - он умеет читать/писать двоичные файлы. Тут обсуждение и пример использования. https://docs.microsoft.com/ru-ru/sql/ado/reference...
Так же нужно помнить, что когда вы читаете файл в двоичном режиме, то на выходе вы получите не строку, а массив байт. Стандартные функции VBS/JS для работы со строками не подойдут. Но в VBS есть набор аналогичных функций с суффиксом "B" для работы с массивом байт. Например MidB, InStrB, AscB, ChrB, LenB.
Функции replace для типа Byte нет, поэтому ее придется реализовать самому.
Вот несколько ссылок по теме: https://docs.microsoft.com/ru-ru/dotnet/visual-bas... forum.script-coding.com/viewtopic.php?id=6698
Alister O, Я только рад тому, что я ошибаюсь в отношении вас :-)
На счет "отловить во время загрузки ОС":
Для начала можете отключать программы в автозагрузке по одной, перезагружаться и смотреть появились ли новые сообщения в журнале. Когда перестанут появляться - значит вы нашли софт, который использует wscript.
Если в автозагрузке ничего не найдется, переходите к планировщику и службам, начните со сторонних служб, затем к системным.
Еще подумал, что можно сделать скрипт с вызовом команды из моего поста выше с перенаправлением вывода в файл, добавить его в планировщик на триггер страта системы. Перезагрузиться и посмотреть полученный файл. Если там в процессах появится wscript/cscript, то от них можно построить цепочку PPID->PID до процесса, который его вызвал.
Не факт, что что-то получится отловить, но это гораздо быстрее, чем отлавливать методом исключения, и шансы есть.
PS: wscript может использоваться вполне легально каким-либо системным компонентом.
Alister O, Защищаться от малвари и прочей вирусни нужно другими способами.
Хотя вариант со списком разрешенных приложений имеет место быть, но это скорее нужно для борьбы с НСД и утечками информации, а не вирусами.
Вот типичный набор для защиты от вирусов:
1. ПОЛЬЗОВАТЕЛИ ДОЛЖНЫ РАБОТАТЬ С ОГРАНИЧЕННЫМИ ПРАВАМИ
2. У пользователя должен быть установлен пароль (желательно настроить политики смены и сложности пароля)
3. Пользователь не должен знать пароль от аккаунта администратора
4. Включите UAC
5. Используйте блокирующий фаервол на шлюзе в интернет.
6. Включите локальный фаервол и настройте его под себя групповыми политиками
7. Поставьте антивирус
8. Напишите памятку для пользователей, в которой опишите типичное поведение вирусов и если они это увидят на рабочем месте, чтоб сразу обращались к администратору не предпринимая никаких самостоятельных действий.
Список можно и дальше продолжать, но и этого хватит, чтоб обезопасить свою сеть от 95% дряни.
Судя по всему у вас в сети уже гуляет вирусня, поэтому надо начинать полную зачистку. Можете с помощью антивирусов и т.п. средств попытаться отловить гада и научиться его быстро ликвидировать. Если не выйдет, переустановка винды вам поможет в любом случае :-) Чистую винду нужно сразу настраивать по вышеприведенному списку. И не забудьте, что пользовательские файлы могут быть заражены.
На счет вашего вопроса: с помощью команды
wmic process get Caption,CommandLine,ProcessId,ParentProcessId
можно получить список процессов, запущенных в системе с их PID и PPID.
Вывод можно отфильтровать либо с помощью предложения where (как в SQL), либо пропустив вызов через findstr.
Запускать нужно с правами администратора.
Найдете таким способом процесс wscript/cscript, по его ParentProcessId узнаете какой процесс его запустил.
count(table.id1) as count_id1,
count(table.id2) as count_id2,
round(sum(count_id1) / sum(count_id2) * 100, 1) as percent
Вообще не очень понятно, что вы хотели этим сказать.
Делать sum(count(table.id1)) - бессмысленно (если вообще SQL такое позволит), т.к. count - возвращает единственное значение и это значение вы заворачиваете в sum() - на выходе получите то же самое значение. Т.е. sum(count(table.id1)) = count(table.id1)
UID_B Nintendo, Я ошибся в ответе. Конечно, при N^3 - 2 операции умножения, а при 2^N - (N-1) - операций умножения.
Для 2^N - сложность O(N-1) будет для самой прямолинейной реализации. Стоит лишь чуть оптимизировать и сложность будет O(log(N)) (см. ответ Mercury13 )
Что значит "на каждые 2 элемента"? 2 элемента чего?
Для N^3 - на вычисление будет уходить 2 операции умножения.
Для 2^N - на вычисление будет уходить N-1 операций умножения.
Все просто - разложите вычисление степени в произведение и посчитайте количество операций умножения.
Если вам нужно вычислить степени для каждого элемента массива, то для каждого элемента потребуется столько операций умножения.
tim2172, На Вин7 powershell, конечно, есть. Если в вашем конкретном случае его почему то нет, то его можно поставить руками.
По наличию файлов/папок смотрите мой пример.
twiniii, Групповые политики используют стандартные виндовые возможности удаленного управления, которые были отключены этой галкой.
Надо срочно избавляться от пользователей с правами локального админа.
twiniii, Если вы хотите таким образом поиграть в хакера, то спешу огорчить - все другие предложенные варианты требуют админского доступа к консоли удаленного компьютера.
В этом случае ваш вариант - это искать уязвимости с помощью каких-либо инструментов для взлома. Но это уже не для тостера.
На этих клиентах добавьте в таблицу маршрутизации соответствующую запись для сети за микротиком, шлюзом указывайте IP микротика в ВПН.
Например клиент на винде, а сеть за микротиком имеет адрес сети 192.168.1.0/24:
route -p add 192.168.1.0 mask 255.255.255.0 192.168.42.2
Как автоматически это сделать при подключении - х.з., я толком не работал с этим вариантом ВПН. Но можно и статикой сделать - ничего страшного, что подключения может не быть.
semax95, В виндовом клиенте в свойствах IP4 в свойствах подключения зарыта галка, что-то типа "Использовать как маршрут по умолчанию" (в английской винде она называется "Use default gateway on remote network"). Она по умолчанию включена и при подключении весь трафик направляется на ВПН сервер (т.е. обычный шлюз по умолчанию заменяется адресом ВПН сервера). Если ее выключить этого не происходит и маршрутизация идет обычным образом, т.е. интернет трафик пойдет через свой маршрутизатор, а через ВПН пойдет только трафик для подсети ВПН.
Подозреваю, что и в настройках клиента на микротике есть похожая настройка.
Не написали главного - какой вариант ВПНа используете.
В OpenVPN это рулится настройками ВПН сервера, можно для каждого клиента сделать отдельные настройки.
dom1n1k, Поэтому такой точности, обычно и не требуется. Сомневаюсь, что стандартные библиотечные функции Си выдают точность в 15 десятичных знаков.
Если нужна большая точность, то, видимо, нужно использовать другие типы данных, не double. Возможно библиотеки для больших чисел и т.п.
В конечном итоге устаканивается какой-то вариант, он становится общепринятым и тогда, возможно, он будет официально включен в какое-то правило или исключение из правил :-)
Да и то в дальнейшем может поменяться - вспомним про "кофе".
Сейчас про около компьютерные термины еще рано говорить, что что-то из этого стало общепринятым написанием/произношением - времени по меркам развития языка прошло еще слишком мало.
Поэтому имеем то, что имеем - каждый пока пишет/говорит так как ему удобно и кажется правильным.
PS: Я ни разу не специалист по русскому языку - прочитал несколько статей по случаю.