web-dev-qa-db-ja.com

Windows 10-lnkファイルをすべてのユーザーのデスクトップにコピーする

特定の操作を実行するバッチファイルがあり、最後に(単純な「コピー」コマンドを使用して).lnkファイルを「%ALLUSERSPROFILE%\ Desktop」にコピーします。これまでは、Windows 10までは問題なく機能していました。そこで、copyコマンドを実行すると、「アクセス拒否」エラーが返されます(実行管理者がいても、それを実行しているユーザーが既にローカル管理者であるという事実が与えられた場合) )。

いくつかのインターネット検索の結果、Win10に実装されているセキュリティ上の理由が原因であることがわかりました。代わりに「%ALLUSERSPROFILE%\ Public Desktop」を使用することを提案しました。これは、Win10では「すべてのユーザーのデスクトップ」ディレクトリであるためです。やってみました。エラーは返されませんでしたが、ファイルはコピーされませんでした。

私もPowerShellを検討しましたが、スクリプトの正常な実行を不確かにするセキュリティ上の制限があるようです。

ショートカットは単純なものではありません(exeはネットワークパス上にあり、exeの後にパラメーターがあり、exe自体からではなく、外部ライブラリからのアイコンもあります)。どういうわけか、ショートカットを作成するのはかなり難しいでしょう。単にコピーするのが望ましいでしょう。どういうわけかそれをパブリックデスクトップにコピーする他のオプションはありますか?代替手段がない場合、セキュリティフラグを立てずにそのショートカットを正常に作成するために使用できる他の方法はありますか?いいえ、GPOソリューションです。バッチファイル内で、またはおそらく外部コマンド/ユーティリティを使用して(できれば無料で)これを実現できるようにしたいと考えています。また、ユーザーがこの手順の実行は常にローカル管理者になります。

3
FaultyOverflow

私が使用しても問題はありません:

copy *.lnk "%PUBLIC%\Desktop"

管理者特権のコマンドプロンプトから。

3
djones