Как стать автором
Обновить

Комментарии 19

Отказ от VBScript должен усилить безопасность Windows.
Это как работает? Злоумышленники будут плакать и не будут использовать новые инструменты? Лично мне кажется что они (злоумышленники) самые первые используют все новое.

Мне еще понравилось, что майкрософт сама признаёт, что полный отказ от своей же наработки усилит безопасность. Но в оригинале написано иначе "Removing a deprecated component helps reduce complexity while keeping you secure and productive"

По мне если js будет вшит в офис это ещё больше даст возможностей обходить ограничения безопасности офиса

Это очень просто работает - уменьшает поверхность атаки.

Или нужно править баги, делать базы сигнатур и т.д. на три языка, или на два языка - уже следить за всем становится легче.

ActionScript, VBScript, JavaScript.... Python тоже скрипт и до него скоро доберутся.

Особенно когда JavaScript отключили, плохо было.

Вместо VBScript представители Microsoft рекомендуют использовать средства автоматизации PowerShell или JavaScript

В экосистеме Microsoft VBScript приятнее и лаконичнее, нежели JavaScript. Многие вещи, в частности, использование COM-объектов, записываются на нём гораздо проще. Это видно даже по примерам в справочной системе. А синтаксис PowerShell либо действительно головоломный, либо просто непривычный.

Он именно непривычный. Когда поймёшь систему, что там ООП во все поля на уровне команд, в сё чётко становится. Всё чётко, в моём понимании — это когда можешь не листая справку угадать, как называется команда, которая сейчас нужна.

Да, синтаксис PowerShell длинный и развесистый, но это хорошо если вспомнить, что его главная целевая аудитория — админы, которые пишут по пять строчек раз в квартал. Синтаксис PowerShell не допускает «антивелосипедный» эффект баша — когда сколько бы ты на нём не писал, но после перерыва придётся перечитывать основы.

которые пишут по пять строчек раз в квартал

Вот именно, пока пишешь какой то скрипт, через день два начинаешь врубаться, даже начинает нравиться. А потом через пол года снова надо написать скриптец, думаешь "че за хрень", когда пытаешься переменную окружения установить. Все приходится опять вспоминать. Я теперь пишу сначала все на bash или в худшем случае батник, а потом скармливаю ChatGPT или Github Copilot с просьбой переписать на Powershell, получается неплохо. По крайней мере с моими невеликим скриптами. Думаю исходники даже хранить, а не ps1 :))

Да-да, мне тоже когда в последний раз понадобилось целый скрипт написать, то накидал на баше сначала, и в ChatGPT скормил. Получилось даже кроссплатформенно, на павершелле для макоси работает.

Баш гораздо быстрее, но в моем случае у него больше внешних зависимостей. Например, приятно порадовало что в павершелле можно парсить жсон-файлы нативно:

$tsconfig = Get-Content -Path "tsconfig.json" -Raw | ConvertFrom-Json
$outDir = $tsconfig.compilerOptions.outDir

На баше оно лаконичней, но требует установки jq или чего-то похожего:

out_dir=$(jq -r .compilerOptions.outDir tsconfig.json)

Куча примеров перед глазами, когда бухгалтера до сих пор используют скрипты в том числе и для Excel/Word для автоматизации написанные 10 и более лет назад..

Тут речь про VBS, а не VBA

Одно не исключает другое. У меня скрипты автоматизации (тоже написанные 10 и более лет назад) на VBS, но через COM-объекты "потрошат" Excel/Word/Outlook.

VBA переносится в VBS и обратно с Ctrl+C/V (ну почти).

Что VBS, что PS, что JS - как бы скрипты... Ну писали на вб, пересядут на js/ps и тут мы узнаем о новых недопроверенных уязвимостях уже в JS и PS "движках".
Нет, я не против того, что они депрекейтят и сносят в новых системах "старое", просто про безопасность, имхо, выглядит как тупая спекуляция, что лично в моих глазах еще больше принижает мелкомягких.

Вот это поворот! 10 + лет наверное у меня запуск бэкапирования работал в vbscript, где мне сейчас это переделывать?

set SQLCom = CreateObject("ADODB.Command")
With SQLCom
.ActiveConnection = DB
.CommandText = "dbo.p_MakeBackup"
.CommandType = 4 'adCmdStoredProc
.NamedParameters = True
.Parameters.Append .CreateParameter("@fpath", 200, 1, 200, FPath) 'adVarChar=200, adParamInput=1
'.Parameters.Append .CreateParameter("@fname", 200, 1, 200, FName)
.Execute
End With

$oConnection = New-Object -comobject "ADODB.Connection"

$oCommand = New-Object -comobject "ADODB.Command"
$oCommand.ActiveConnection = $oConnection
$oCommand.CommandText = "...."
$oCommand.CommandType = "...."
$rs=$oCommand.Execute([ref]$ra)

На PowerShell вполне читаемо

Во второй половине 2024 года язык сценариев от Microsoft будет доступен в Windows 11 в качестве дополнительной функции. По умолчанию его уже отключат.

Что за перевод такой? До 2027 FOD VBScript будет включен по умолчанию. Ибо slmgr.vbs и ospp.vbs
VBScript deprecation: Timelines and next steps
Phase 1
In the first phase, VBScript FODs will be pre-installed in all Windows 11, version 24H2 and on by default.
Phase 2
Around 2027, the VBScript FODs will no longer be enabled by default.

Главное что-бы обновлениями из Win10 не удалили... Как Flash когда-то - мы прекращаем поддержку, поэтому заранее поставим на удаление.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости

Истории