07 Lug Accesso RAPIT(D)O WINDOWS 11
Sul nuovo pc Windows 11 ho un problema con l’accesso rapido abbastanza fastidioso: al riavvio Windows rimuove tutte le cartelle aggiunte al menu accesso rapido. Cercando su internet ho capito essere un problema abbastanza diffuso, ma tutti i suggerimenti che ho trovato non hanno portato a niente. Sul portatile che ha la stessa versione di Windows 11 e praticamente le stesse configurazioni questo problema non si presenta.
Dopo aver fatto alcuni tentativi ho pensato che la cosa migliore fosse creare uno script in PowerShell da lanciare tramite operazioni pianificate all’avvio del pc e così ho fatto.
Lo script è più o meno così:
Set-ExecutionPolicy unrestricted
$QuickAccess = New-Object -ComObject shell.application
$PathToPin = “C:\Users\Francesco\Pictures\Foto”
if(-not ($QuickAccess.Namespace(“shell:::{679f85cb-0220-4080-b29b-5540cc05aab6}”).Items() | ? {$_.Path -eq $PathToPin})) $QuickAccess.Namespace($PathToPin).Self.InvokeVerb(“pintohome”)}
con le ultime 3 righe da ripetere per ogni cartella da aggiungere. Salvarlo con estensione .ps1
A questo punto si può creare l’operazione pianificata impostandola alla login e specificando come azione
in Programma o script mettere il percorso del powershell mentre in Argomenti mettere:
-file <percorso del file .ps1>
Lanciandolo da Powershell però viene bloccato a causa delle policy di default di esecuzione degli script che è impostata su Restricted. Qui abbiamo 2 strade:
1. Impostare le policy su AllSigned e firmare lo script
Impostare le policy su Unrestricted è sconsigliato perchè espone ad attacchi e virus.
Per firmare lo script occorre:
– generare il certificatoNew-SelfSignedCertificate -DnsName francesco.fantoni@live.it -CertStoreLocation Cert:\CurrentUser\My\ -FriendlyName "SelfCert" -NotAfter (Get-Date).AddYears(10) -KeyLength 4096 -Type Codesigning
– verificare che è stato generatoGet-ChildItem Cert:\CurrentUser\My -CodeSigningCert
– esportare il certificato in un file .cerExport-Certificate -Cert Cert:\CurrentUser\My\ -FilePath c:\certificato.cer
– importare il certificatoImport-Certificate -CertStoreLocation Cert:\LocalMachine\TrustedPublisher -FilePath c:\certificato.cer
Import-Certificate -CertStoreLocation Cert:\LocalMachine\AuthRoot -FilePath c:\certificato.cer
– firmare lo scriptSet-AuthenticodeSignature -FilePath d:\QUICKACCESS.ps1 -Certificate (Get-ChildItem -Path Cert:\CurrentUser\My\)
infine impostare le policy su AllSigned con
Set-ExecutionPolicy AllSigned
2. il secondo modo è aggiungere nell’argomento il comando
-executionpolicy bypass
Sorry, the comment form is closed at this time.