知識マップ: VBScript廃止に備えるVBA・社内ツール点検ガイド
記事「VBScript廃止に備えるVBA・社内ツール点検ガイド」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
MicrosoftはVBScriptをFeature on Demandとしての既定有効から既定無効、将来の削除へと段階的に廃止する方針を示しており、VBAからの外部.vbs実行やVBScript系ライブラリ参照、GPOログオンスクリプト・タスクスケジューラ・Intune配布スクリプト・MSIのCustom Actionがその影響を受けます。代替先はOS・ファイル・タスクに触る処理ならPowerShell、Excelブック内で完結する処理ならVBAネイティブやOffice Scripts、複雑な業務ロジックなら.NET/VSTO、フロー起点ならPower Automateというように責務で選び分けます。ただし置換後のPowerShellやマクロは、攻撃面の減少ルール(ASR)やAppLocker、App Control for Businessのポリシー次第でブロックされ得るため、SysmonやAppLockerイベントログでの監査ログ収集、実行ポリシーとAuthenticode署名の運用まで含めて移行を設計する必要があります。
flowchart LR
accTitle: VBScript廃止とVBA・社内ツール移行の知識マップ
accDescr: VBScriptの段階的廃止がVBA・GPO・タスクスケジューラ・Intune・MSIにどう影響し、PowerShellやOffice Scripts等の代替技術がAppLockerやASRといったセキュリティ機能とどう関わるかを示す図
vbscript["VBScript"]
vba["VBA(Visual Basic for Applications)"]
powershell["PowerShell"]
feature_on_demand["Feature on Demand(FOD)"]
group_policy["グループポリシー"]
task_scheduler["タスクスケジューラの無人実行"]
intune["Microsoft Intune"]
msi_custom_action["MSI Custom Action"]
zone_identifier["Zone.Identifier(Mark of the Web)"]
attack_surface_reduction_rules["攻撃面の減少ルール(ASR)"]
powershell_execution_policy["PowerShellの実行ポリシー"]
authenticode_signing["Authenticode署名(PowerShellスクリプト)"]
applocker_log["AppLockerイベントログ"]
app_control_for_business["App Control for Business(旧WDAC)"]
audit_mode["監査モード"]
applocker["AppLocker"]
sysmon["Sysmon"]
office_scripts["Officeスクリプト(Office Scripts)"]
vsto["VSTO(Visual Studio Tools for Office)"]
power_automate["Power Automate"]
powershell -->|"の後継"| vbscript
vba -.->|"利用する"| vbscript
vbscript -->|"前提とする"| feature_on_demand
group_policy -.->|"前提とする"| vbscript
task_scheduler -.->|"前提とする"| vbscript
intune -.->|"前提とする"| vbscript
msi_custom_action -.->|"前提とする"| vbscript
vba -.->|"両立しない"| zone_identifier
vba -.->|"利用する"| powershell
powershell -.->|"両立しない"| attack_surface_reduction_rules
vba -.->|"両立しない"| attack_surface_reduction_rules
powershell -->|"前提とする"| powershell_execution_policy
powershell_execution_policy -.->|"前提とする"| authenticode_signing
powershell -->|"で構成できる"| authenticode_signing
powershell -.->|"で確認できる"| applocker_log
app_control_for_business -.->|"で構成できる"| audit_mode
applocker -.->|"で構成できる"| audit_mode
vbscript -.->|"で確認できる"| sysmon
office_scripts -.->|"推奨される対応"| vbscript
vba -->|"推奨される対応"| vbscript
powershell -->|"推奨される対応"| vbscript
vsto -.->|"推奨される対応"| vbscript
power_automate -.->|"推奨される対応"| vbscript
powershell -.->|"両立しない"| applocker
vba -.->|"両立しない"| app_control_for_business
概念間の関係(全25件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- PowerShellはVBScriptの後継に当たります。
- VBA(Visual Basic for Applications)はVBScriptを利用します。
- VBScriptはFeature on Demand(FOD)を前提とします。
- グループポリシーはVBScriptを前提とします。
- タスクスケジューラの無人実行はVBScriptを前提とします。
- Microsoft IntuneはVBScriptを前提とします。
- MSI Custom ActionはVBScriptを前提とします。
- VBA(Visual Basic for Applications)はZone.Identifier(Mark of the Web)と両立しません。
- VBA(Visual Basic for Applications)はPowerShellを利用します。
- PowerShellは攻撃面の減少ルール(ASR)と両立しません。
- VBA(Visual Basic for Applications)は攻撃面の減少ルール(ASR)と両立しません。
- PowerShellはPowerShellの実行ポリシーを前提とします。
- PowerShellの実行ポリシーはAuthenticode署名(PowerShellスクリプト)を前提とします。
- PowerShellはAuthenticode署名(PowerShellスクリプト)で構成できます。
- PowerShellはAppLockerイベントログで確認できます。
- App Control for Business(旧WDAC)は監査モードで構成できます。
- AppLockerは監査モードで構成できます。
- VBScriptはSysmonで確認できます。
- Officeスクリプト(Office Scripts)はVBScriptに対する本記事の推奨です。
- VBA(Visual Basic for Applications)はVBScriptに対する本記事の推奨です。
- PowerShellはVBScriptに対する本記事の推奨です。
- VSTO(Visual Studio Tools for Office)はVBScriptに対する本記事の推奨です。
- Power AutomateはVBScriptに対する本記事の推奨です。
- PowerShellはAppLockerと両立しません。
- VBA(Visual Basic for Applications)はApp Control for Business(旧WDAC)と両立しません。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。