Windows 7デスクトップショートカットが消える問題を修正

Windows 7を実行している場合、デスクトップショートカットが明確な理由もなく消えることに気づいたかもしれません。システムメンテナンスがその原因であることがわかります。これは、2つの方法でデスクトップショートカットに影響を与える毎週のメンテナンスサービスとして実行されます。

最初に、少なくとも3か月間使用されていないデスクトップショートカットを削除します。システムメンテナンスでは、デスクトップに壊れたショートカットが4つ以上ある場合、それらも削除されます。後者の問題は、Windows 7が切断されたネットワークの場所へのショートカットを壊れたものとして認識し、シェルフォルダーにリンクするショートカットも認識することです。

マイクロソフト オファー 問題に対する2つの解決策。最初のアドバイスは、壊れたショートカットの数を4未満に保つことです。上記の壊れたショートカットの問題により、これが常に可能であるとは限りません。

Microsoftによる2番目の提案は、コンピュータのメンテナンスをオフにすることです。

  • [スタート]をクリックし、[コントロールパネル]をクリックします。
  • [システムとセキュリティ]で、[問題の検索と修正]をクリックします。
  • 左側のナビゲーションペインで、[設定の変更]をクリックします。
  • コンピュータのメンテナンスをオフに設定します。

ただし、これにより、システム時刻のチェック、ディスクボリュームのエラー、ディスクスペースのエラーレポートなど、他のすべてのコンピューターメンテナンス関連タスクがオフになります。

すべてのメンテナンスタスクは、c: windows Diagnostics Scheduled Maintenance にあるスクリプトによって実行されます。オプションは、そのディレクトリで直接スクリプトを編集することです。パーミッションは、ファイルが現在のユーザーによって編集されることを禁止します。

Windows 7デスクトップショートカットが消える問題の修正

注:これはハッキングであり、オペレーティングシステムの他の部分に影響を与える可能性があります。その後、テストシステムですべてが正常に機能しましたが、編集する前にファイルを適切にバックアップしてください。

最初に、ファイルを制御して編集できるようにする必要があります。これを行うには、まず所有権を取得してから、現在のユーザーのアクセス権を変更して、ファイルを変更できるようにする必要があります。

最初の部分は自動化できます。スクリプトをダウンロードするだけ これで フォーラムとそれを実行します。これにより、Windowsエクスプローラーの右クリックメニューに所有権の取得エントリが追加されます。

スクリプトをインストールしてWindowsエクスプローラーでC: Windows diagnostics scheduled Maintenanceに移動し、ファイルを右クリックします。 TS_BrokenShortcuts.ps1 。所有権の取得オプションを選択すると、ログインしたユーザーに所有権が移ります。

ユーザーはまだファイルを保存する権限を持っていません。つまり、壊れたショートカットのPowerscriptファイルを編集して壊れたショートカットを自動的に削除しないようにするには、次の手順も完了する必要があります。

管理者特権のコマンドラインプロンプトを開きます。これを行うには、[スタート]、[すべてのプログラム]、[アクセサリ]の順にクリックします。 [コマンドプロンプト]リンクを右クリックし、[管理者として実行]を選択します。

次のコマンドを発行して、アクティブなユーザーにファイルの完全な権限を付与します。 USERNAMEをアクティブなユーザーの名前に置き換えてください。

icacls c: windows diagnostics scheduled maintenance TS_BrokenShortcuts.ps1 / grant USERNAME:F

これで、通常はメモ帳などのテキストエディタでファイルを編集できます。それを開いて、行を見つけます(行11)

[文字列] $リスト= ''

(22行目)までのその行の下にあるすべてのものを削除します

$ listを返す

削除される行は次のとおりです。

Get-ChildItem -Path $ path -filter * .lnk | Foreach-Object {
$ fullPath = ConvertTo-WQLPath $ _。FullName
$ wmiLinkFile = Get-WmiObject -query 'SELECT Name、Target、AccessMask FROM Win32_ShortcutFile WHERE Name =' $ fullPath ''

if(-not(Test-ValidLink $ wmiLinkFile)-and(Test-Delete $ wmiLinkFile))
{
$ list = AttachTo-List $ list $ wmiLinkFile.Name
}
}

これは基本的に空白のリストをスクリプトに返すため、ショートカットは削除されません。 5つの壊れたショートカットでテストしましたが、システムメンテナンスを実行しても削除されませんでした。

これにより、壊れたショートカットが修正されましたが、しばらく使用されていなかったショートカットがWindows 7によっても削除されるという問題があります。

ここでは(ほぼ)同じ操作を実行する必要があります。同じディレクトリでTS_UnusedDesktopIcons.ps1ファイルを見つけます。それの所有権を取得し、アクティブなユーザーにアクセス権を付与します。

その後ファイルを編集し、行を見つけます(24)

[文字列] $リスト= ''

行まで削除(35)

$ listを返す

次の行が削除されるように

Get-ChildItem -Path $ path -filter * .lnk | Foreach-Object {
$ fullPath = ConvertTo-WQLPath $ _。FullName
$ wmiLinkFile = Get-WmiObject -query 'SELECT Name、Target、AccessMask FROM Win32_ShortcutFile WHERE Name =' $ fullPath ''
$ lastAccessTime = Get-LastAccessTime $ _。FullName

if((Test-ValidLink $ wmiLinkFile)-and(Test-Delete $ wmiLinkFile)-and(Test-FileShortcut $ wmiLinkFile)-and(Test-Unused $ lastAccessTime $ threshold))
{
$ list = AttachTo-List $ list $ wmiLinkFile.Name
}
}

2番目のスクリプトはテストしていませんが、問題なく動作するはずです。

これにより、Windows 7デスクトップで削除されたショートカットに関するユーザーのすべての問題が解決されます。

編集する前に、ファイルを適切にバックアップしてください。これで問題が解決したかどうか、またはWindows 7で削除されたショートカットの問題を修正する方法についてより良いアイデアがあるかどうかをお知らせください。