PowerShellでRunOnceの登録を関数化する方法を紹介します。これにより、RunOnceのエントリを簡単に登録したり削除したりできるようになります。
次のように、RunOnceエントリを追加するためのPowerShell関数を定義できます:
function Set-RunOnce {
param (
[string]$ScriptPath,
[string]$ScriptName
)
# レジストリキーのパス
$RunOnceKey = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"
# スクリプトのパスをレジストリに追加
Set-ItemProperty -Path $RunOnceKey -Name $ScriptName -Value $ScriptPath
Write-Output "RunOnce entry added for: $ScriptName"
}
function Remove-RunOnce {
param (
[string]$ScriptName
)
# レジストリキーのパス
$RunOnceKey = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"
# RunOnceエントリを削除
Remove-ItemProperty -Path $RunOnceKey -Name $ScriptName
Write-Output "RunOnce entry removed for: $ScriptName"
}
Set-RunOnceを使用してエントリを追加
Set-RunOnce -ScriptPath "C:\path\to\your\script.bat" -ScriptName "MyScript"
これにより、RunOnceにMyScriptという名前で、指定したスクリプトが追加されます。
Remove-RunOnceを使用してエントリを削除
Remove-RunOnce -ScriptName "MyScript"
これにより、RunOnceからMyScriptエントリが削除されます。
これにより、RunOnceエントリを簡単に管理することができます。