どうもミツシマです。
前回、「(Powershell)Windows10でスタートメニューのタイルをコマンドで一括削除する方法を検証してみた」を検証していましたが、今回は逆にコマンドでスタート画面に特定のアプリケーションをピン留めする方法を検証しました。
検証環境は以下の通り
PC:Windows10 1809
前回と違い今回はスムーズに作成出来たので、まずは出来たスクリプトから
(注)ただし、この「スタートにピン留めする」という名前ですが、Windows10のフューチャーバージョンによって呼称が異なるようで、「スタート画面にピン留めする」という表記のこともありましたので、実際に使用する場合は、右クリックで確かめた方がいい!!!
全体の流れとしては、ピン留めしたいアプリケーションのショートカットを環境変数(配列)に設定し、順番に上記Shellスクリプトよりスタート画面にピン留めしている。
※実際にピン留めしている処理は関数「PutStartMenu」としている。
その為、実際に使用する際には配列「FileFullPathArray 」にピン留めしたいアプリケーションのショートカットを設定するだけで使用可能。
上記スクリプト例では「スニッピングツール」と「Internet Explorer」の2つをピン留めしている内容になる。
更にカスタマイズしたい場合には、やはり「LayoutModification.xml」を作成して操作するしかないかなぁ〜〜と思う。
前回、「(Powershell)Windows10でスタートメニューのタイルをコマンドで一括削除する方法を検証してみた」を検証していましたが、今回は逆にコマンドでスタート画面に特定のアプリケーションをピン留めする方法を検証しました。
検証環境は以下の通り
PC:Windows10 1809
前回と違い今回はスムーズに作成出来たので、まずは出来たスクリプトから
完成したスクリプト(PutStartMenu.ps1)
#環境変数設定
$UserName = $env:USERNAME
#実際に「スタート画面にピン留め」したいショートカットのリストを入力.各ユーザーのAPPDATA下の場合は「$UserName」を使用ください
#複数入力する際は、最後に[,]を入力すること ※だたし、最終行は不要
$FileFullPathArray = @(
"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Snipping Tool.lnk",
"C:\Users\$UserName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk"
)
#ショートカットをスタート画面にピン止めする
Function PutStartMenu($FileFullPath){
if( Test-Path $FileFullPath ){
$PathName = Split-Path $FileFullPath -Parent
$FileName = Split-Path $FileFullPath -Leaf
#Write-Host ('$PathName:' + $PathName)
#Write-Host ('$FileName:' + $FileName)
$Shell = new-object -com "Shell.Application"
$TergetFolder = $Shell.Namespace( $PathName )
$TergetItem = $TergetFolder.ParseName( $FileName )
$Verb = $TergetItem.Verbs() | Where-Object{ $_.Name -like "スタートにピン留めする*" }
$Verb.DoIt()
}
}
for($i = 0; $i -lt $FileFullPathArray.Count; $i++){
#Write-Output ("count:"+ $i )
#Write-Output $FileFullPathArray[$i]
PutStartMenu $FileFullPathArray[$i]
}
〜解説〜
今回使用するのは「Shellスクリプト」である。簡単に説明するとWidnowsのエクスプローラ機能を呼び出してコマンド実行させるもの。GUI上でショートカットを右クリックして「スタートにピン留めする」という行為をコマンドで実行しているという感じ。(注)ただし、この「スタートにピン留めする」という名前ですが、Windows10のフューチャーバージョンによって呼称が異なるようで、「スタート画面にピン留めする」という表記のこともありましたので、実際に使用する場合は、右クリックで確かめた方がいい!!!
全体の流れとしては、ピン留めしたいアプリケーションのショートカットを環境変数(配列)に設定し、順番に上記Shellスクリプトよりスタート画面にピン留めしている。
※実際にピン留めしている処理は関数「PutStartMenu」としている。
その為、実際に使用する際には配列「FileFullPathArray 」にピン留めしたいアプリケーションのショートカットを設定するだけで使用可能。
上記スクリプト例では「スニッピングツール」と「Internet Explorer」の2つをピン留めしている内容になる。
更にカスタマイズしたい場合には、やはり「LayoutModification.xml」を作成して操作するしかないかなぁ〜〜と思う。
スポンサードリンク
コメント