【bat、Powershell】(PCメンテナンス用)デスクトップにショートカットを作成するスクリプト

【ツールの概要】
・batとPowerShellで共有フォルダへのショートカットを作ります。
・batはほぼPowershellスクリプトを呼び出すだけです。

【環境(使っている環境)】
・Windows10Pro
Powershell ver2.0以降

【ソース(ExecutePSscript.bat)】

@echo off
cd /d %~dp0\bin

SET PSFile=CreateShortCut.ps1

powershell -ExecutionPolicy RemoteSigned .\%PSFile%
pause

 
【ソース(CreateShortCut.ps1)】

$DtFol = [Environment]::GetFolderPath('Desktop')

# 共有フォルダ
$WsShell = New-Object -ComObject WScript.Shell
$Shortcut = $WsShell.CreateShortcut($DtFol + "\うんたらさーば共有フォルダー.lnk")
$Shortcut.TargetPath = "\\192.168.0.xx\うんたら共有フォルダー"
$Shortcut.IconLocation = "\\192.168.0.xx\うんたら共有フォルダー"
$Shortcut.Save()

【使用方法】
・上記のようにExecutePSscript.batとCreateShortCut.ps1を作成し、後者をbinフォルダに格納します。
 デスクトップ
  └ ExecutePSscript.bat
  └ bin
    └ CreateShortCut.ps1
・ExecutePSscript.batを引数なしで実行します。

【説明】
・実行するとデスクトップにショートカットが作成されます。
・[Environment]::GetFolderPath('特殊フォルダ名')は、便利ですね。。
・オブジェクトでセットアップするのはわかりやすいです。

【総評】
batだけでやろうとすると手間がかかるし、GUIだと何台もやったり何個も共有フォルダ作るのは疲れるので、
そういう仕事があるならぜひ作っておきたいですね。
また、Powershellなら最初に配列に各値を格納してforeachなどで順次作成したり、
xmlから設定として読み取って、引数で分岐して所属を分けて作成したり、なんてのも比較的容易なので、
そういうカスタマイズをするのも楽しいかもしれません。

【参考リンク】
Windowsでディスク使用率等の一覧を出力するバッチファイルを書いた - hogehoge @teramako第14回 WshShellオブジェクトを利用する(3) (2/4):基礎解説 演習方式で身につけるチェック式WSH超入門 - @IT

【PowerShell】特殊フォルダを取得する | ほそぼそプログラミング日記