SharePoint Online に移行する予定のクライアントがいます。現在、クライアントはローカル サーバー上に共有フォルダーを持っています。
ドメイン上のユーザーが共有内の場所へのショートカットを作成しました。
ショートカットの保存先を URL に変更する PowerShell スクリプトが必要です。これにより、ファイル共有ショートカットをクリックすると、古い共有場所ではなく、SharePoint Online ページ (URL のみ) にリダイレクトされます。
ドメイン上のすべての PC にスクリプトをプッシュできる RMM プラットフォームがあるので、ローカル レベルのスクリプトにすることができますが、デスクトップ上のショートカットを指定する必要があります。または、特定のショートカット (ファイル名変数など) を指定する必要があります。
これに関してご助力いただければ幸いです。
答え1
.lnk/ShortCut ファイル (リストまたは変更) を処理するには、WindowsScriptHost を ComObject として取得する必要があります。
まず、自分が持っているものを一覧にすることから始めます。
## Q:\Test\2019\05\21\SO_1439438.ps1
$OWsh = New-Object -ComObject WScript.Shell
$Desktop = [environment]::GetFolderPath('Desktop')
$DesktopLinks = Get-ChildItem -Path $Desktop *.lnk | ForEach-Object {
$OWsh.CreateShortcut($_.FullName)
}
$DesktopLinks | Out-Gridview
$DesktopLinks | Export-Csv $Desktop\DesktopLinks.csv -NoTYpeInformation
同じ ComObject を使用して設定を変更できますが、ターゲットをテーブルなどで変換する必要があります。