:>>
Write-Host "=== ADATTATORI RETE, ANCHE NASCOSTI ==="; Get-NetAdapter -IncludeHidden | Sort-Object Name | Format-Table Name,InterfaceDescription,Status,MacAddress,LinkSpeed,ifIndex -Auto; Write-Host "`n=== DISPOSITIVI RETE PNP ==="; Get-PnpDevice -Class Net | Sort-Object FriendlyName | Format-Table Status,FriendlyName,InstanceId -Auto; Write-Host "`n=== DISPOSITIVI USB / ETHERNET SOSPETTI ==="; Get-PnpDevice | Where-Object { $_.InstanceId -like "USB*" -or $_.FriendlyName -match "USB|Ethernet|Realtek|ASIX|RTL|815|2.5G|LAN" } | Sort-Object FriendlyName | Format-Table Status,Class,FriendlyName,InstanceId -Auto
<<:
:>>
$id='USB\VID_0BDA&PID_8156\4013000001'; Write-Host "=== DISPOSITIVO REALTEK USB 2.5GBE ==="; Get-PnpDevice -InstanceId $id | Format-List *; Write-Host "`n=== PROPRIETA ERRORE/DRIVER ==="; Get-PnpDeviceProperty -InstanceId $id | Where-Object { $_.KeyName -match 'Problem|Service|Driver|Inf|Parent|Children|Location|Install|Removal' } | Format-List KeyName,Data
<<:
:>>
Write-Host "=== EVENTI USB/PNP INTORNO ALLA RIMOZIONE ==="; Get-WinEvent -LogName System | Where-Object { $_.TimeCreated -ge '2026-08-26 07:50:00' -and $_.TimeCreated -le '2026-08-26 08:20:00' -and ($_.ProviderName -match 'Kernel-PnP|DriverFrameworks|USB|UserPnp|NDIS' -or $_.Message -match 'USB|Realtek|8156|2.5GbE|disconnected|removed|not connected|reset|porta|driver') } | Select-Object TimeCreated,ProviderName,Id,LevelDisplayName,Message | Format-List
<<:
In powershell
Copia i file da A a B.
:> robocopy "CARTELLA_ORIGINE" "CARTELLA_DESTINAZIONE" /E /XO /COPY:DAT /DCOPY:DAT /R:2 /W:2 /XJ
Significato:
/E copia anche sottocartelle, incluse vuote
/XO salta i file se in destinazione sono piรน recenti
i file uguali vengono saltati automaticamente
copia i file mancanti
aggiorna quelli piรน recenti in origine
/XJ evita problemi con collegamenti/junction
Non cancella nulla dalla destinazione. Non รจ una copia speculare.
Copia da A a B salta
:> robocopy "G:\Network Marketing" "F:\Network Marketing" /E /XC /XN /XO /COPY:DAT /DCOPY:DAT /R:2 /W:2 /XJ
:> robocopy "G:\Network Marketing" "F:\Network Marketing" /E /XO /COPY:DAT /DCOPY:DAT /R:2 /W:2 /XJ
- se il file non esiste in F: โ lo copia
- se il file esiste uguale โ lo salta
- se il file in G: รจ piรน vecchio di quello in F: โ lo salta
- se il file in G: รจ piรน nuovo o diverso โ lo sovrascrive in F:
Quindi /XO = โeXclude Olderโ, cioรจ non copiare i file sorgente piรน vecchi della destinazione.
Per una copia speculare:
:> robocopy "CARTELLA_ORIGINE" "CARTELLA_DESTINAZIONE" /MIR /COPY:DAT /DCOPY:DAT /R:2 /W:2 /XJ /L
oppure
:> robocopy "CARTELLA_ORIGINE" "CARTELLA_DESTINAZIONE" /MIR /COPY:DAT /DCOPY:DAT /R:2 /W:2 /XJ
/MIR cancella dalla destinazione i file/cartelle che non esistono piรน nellโorigine.
Per confrontare 2 cartelle se sono esattamente uguali:
:>>
$SRC = "Percorso Cartella 1"
$DST = "Percorso Cartella 2"
$srcFiles = Get-ChildItem -LiteralPath $SRC -File -Recurse | ForEach-Object {
$rel = $_.FullName.Substring($SRC.Length).TrimStart('\')
[PSCustomObject]@{
RelPath = $rel
Hash = (Get-FileHash -LiteralPath $_.FullName -Algorithm SHA256).Hash
Size = $_.Length
}
}
$dstFiles = Get-ChildItem -LiteralPath $DST -File -Recurse | ForEach-Object {
$rel = $_.FullName.Substring($DST.Length).TrimStart('\')
[PSCustomObject]@{
RelPath = $rel
Hash = (Get-FileHash -LiteralPath $_.FullName -Algorithm SHA256).Hash
Size = $_.Length
}
}
Compare-Object $srcFiles $dstFiles -Property RelPath,Size,Hash
<<:
Apri PowerShell come amministratore e dai:> Set-MpPreference -EnableControlledFolderAccess Disabled Verifica :> (Get-MpPreference).EnableControlledFolderAccess Significato: 0 = disattivato 1 = attivo 2 = solo controllo/audit Per riattivare :> Set-MpPreference -EnableControlledFolderAccess Enabled ---------------------------------------------------------------------------------------------------- Per sbloccare Acrobat :> Add-MpPreference -ControlledFolderAccessAllowedApplications "C:\Program Files (x86)\Adobe\Acrobat 10.0\Acrobat\Acrobat.exe" Riga adattabile per qualsiasi app :> Add-MpPreference -ControlledFolderAccessAllowedApplications "PERCORSO_COMPLETO_DEL_PROGRAMMA.exe" Modificare solo la parte tra virgolette, esempio :> Add-MpPreference -ControlledFolderAccessAllowedApplications "C:\Program Files\NomeProgramma\programma.exe" Per verificare che il controllo sia attivo :> (Get-MpPreference).EnableControlledFolderAccess
Questa codice blocca in uscita tutti le applicazioni presenti nella cartella....
:>>
$cartella = "C:\Percorso\Della\Tua\Cartella"
Get-ChildItem -Path $cartella -Filter *.exe -Recurse | ForEach-Object {
New-NetFirewallRule -DisplayName "Bloccato: $($_.Name)" -Direction Outbound -Program $_.FullName -Action Block
}
<<:
E questo altro blocca in intrata e uscita:
:>>
$cartella = "C:\Percorso\Della\Tua\Cartella"
Get-ChildItem -Path $cartella -Filter *.exe -Recurse | ForEach-Object {
# Blocca in Uscita (Outbound)
New-NetFirewallRule -DisplayName "Blocco Out: $($_.Name)" -Direction Outbound -Program $_.FullName -Action Block
# Blocca in Entrata (Inbound)
New-NetFirewallRule -DisplayName "Blocco In: $($_.Name)" -Direction Inbound -Program $_.FullName -Action Block
}
<<:
in powershell amministratore :> wbadmin start backup -backupTarget:H: -include:C: -allCritical -vssCopy :> wbadmin start backup -backupTarget:H: -include:C: -allCritical -vssCopy -quiet Controllare dopo con: :> wbadmin get versions -backupTarget:H: Leggere il file txt allegato
dare questi 2 comandi: :> winget install --id Microsoft.VisualStudioCode --scope user --force --accept-package-agreements --accept-source-agreements --override "/VERYSILENT /MERGETASKS=!runcode,addcontextmenufiles,addcontextmenufolders,associatewithfiles,addtopath" :> Stop-Process -Name explorer -Force
per riavviare explorafile con powershell:> Stop-Process -Name explorer -Force
comandi per vedere nome macchina e sk scheda video :>> Get-CimInstance Win32_ComputerSystem | Select-Object Model Get-CimInstance Win32_VideoController | Select-Object Name,VideoModeDescription <<:
Installare con Powershell questa libreria:
:> winget install yt-dlp.yt-dlp
oppure scaricare e lanciare il file: Installa_Aggiorna_yt-dlp.bat
e poi lanciare il programma in allegato : Scarica_Video_Facebook_YouTube_v1.4.bat
Verranno create le cartelle dei download in:
\Documents\Video\VideoFacebook
\Documents\Video\VideoYouTube
Le opzioni:
1) Video pubblico : Scarica il video senza usare il tuo account Facebook. Va bene per Reel e video visibili anche senza login.
2) Login Google Chrome : Usa i cookie/sessione di Chrome. Serve se il video รจ visibile solo quando sei collegato a Facebook. Devi essere giร loggato a Facebook in Chrome.
3) Login Microsoft Edge : ร identico all'opzione 2, ma usa la sessione di Edge. Devi essere giร loggato a Facebook in Edge.
Quindi, in pratica: prova sempre prima l'opzione 1. Se Facebook non permette il download o il video รจ riservato agli utenti autenticati,
usa 2 se navighi con Chrome
USA 3 se navighi con Edge.
Installare sui due server
:> apt update && apt install -y rsync
Sul nuovo server lanciare
:> rsync -avz -e ssh root@82.165.45.201:/root/progetti/ /root/progetti/
:> rsync -avz -e ssh root@82.165.45.201:/etc/fail2ban/jail.local /etc/fail2ban/
:> rsync -avz -e ssh root@82.165.45.201:/etc/fail2ban/filter.d/ /etc/fail2ban/filter.d/
oppure questo se sul vecchio non ce rsync
:> scp -r root@82.165.45.201:/root/progetti/ /root/progetti/
Installare rsync in wsl debian si PC:
Nella finestra Ubuntu/WSL esegui:
:> sudo apt update
:> sudo apt install -y rsync openssh-client
Crea la cartella locale Windows: C:\BackupVPS
:>>
rsync -avz --progress \
-e "ssh -p 22" \
root@IP_DEL_VPS:/percorso/cartella/ \
/mnt/c/BackupVPS/cartella/
<<:
Esempio concreto, per copiare /var/www: in C:\BackupVPS\var-www
rsync -avz --progress \
-e "ssh -p 22" \
root@123.123.123.123:/var/www/ \
/mnt/c/BackupVPS/var-www/
Per verificare che percorsi e collegamento siano corretti aggiungi --dry-run
:>>
rsync -avz --progress --dry-run \
-e "ssh -p 22" \
root@123.123.123.123:/var/www/ \
/mnt/c/BackupVPS/var-www/
>>:
Per una cartella che deve essere ripristinata identica, conviene prima creare sul VPS un archivio Linux:
:> sudo tar --acls --xattrs -czf /root/cartella-backup.tar.gz /percorso/cartella
Poi scaricare lโarchivio con rsync:
:>>
rsync -avz --progress \
-e "ssh -p 22" \
root@123.123.123.123:/root/cartella-backup.tar.gz \
/mnt/c/BackupVPS/
>>:
Reset generale consigliato, solo schede fisiche attive:
:>>
Get-NetAdapter -Physical |
Where-Object { $_.Status -eq "Up" } |
Restart-NetAdapter -Confirm:$false
>>:
Resettare proprio tutte le schede abilitate, incluse virtuali/VPN/Tailscale:
:>>
Get-NetAdapter |
Where-Object { $_.Status -ne "Disabled" } |
Restart-NetAdapter -Confirm:$false
<<:
Test completo delle schede configurate:
:>>
Write-Host "`n[SCHEDE]"
Get-NetAdapter |
Sort-Object Name |
Select-Object Name,InterfaceDescription,Status,LinkSpeed,MacAddress |
Format-Table -AutoSize
Write-Host "`n[IP / GATEWAY / DNS]"
Get-NetIPConfiguration |
Select-Object InterfaceAlias,IPv4Address,IPv4DefaultGateway,DNSServer |
Format-List
Write-Host "`n[ROUTE PRINCIPALI]"
Get-NetRoute -AddressFamily IPv4 |
Where-Object {
$_.DestinationPrefix -eq "0.0.0.0/0" -or
$_.DestinationPrefix -eq "192.168.1.0/24"
} |
Sort-Object DestinationPrefix,RouteMetric,InterfaceMetric |
Format-Table DestinationPrefix,NextHop,InterfaceAlias,RouteMetric,InterfaceMetric -AutoSize
Write-Host "`n[ROUTE INTERNET]"
Find-NetRoute -RemoteIPAddress 1.1.1.1 |
Format-Table InterfaceAlias,IPAddress,NextHop,RouteMetric,InterfaceMetric -AutoSize
Write-Host "`n[TEST INTERNET]"
Test-NetConnection 1.1.1.1 -InformationLevel Detailed |
Select-Object ComputerName,InterfaceAlias,SourceAddress,PingSucceeded |
Format-List
Write-Host "`n[TEST DNS]"
Resolve-DnsName google.com |
Select-Object -First 5 Name,IPAddress |
Format-Table -AutoSize
<<:
============================================================================================================
Comandi dedicati alla mia scheda 2.5GB
Il primo leggero e senza riavvio:
:>>
Clear-DnsClientCache
ipconfig /flushdns
arp -d *
Restart-NetAdapter -Name "Ethernet 2.5GB USB" -Confirm:$false
<<:
e poi controllare con:
:>>
Find-NetRoute -RemoteIPAddress 1.1.1.1
Test-NetConnection 1.1.1.1 -InformationLevel Detailed
<<:
un reset piรน profondo dello stack rete, da PowerShell amministratore::
:>>
netsh winsock reset
netsh int ip reset
shutdown /r /t 0
<<:
:>>
$link = 'Inserire qui il link'
$out = "H:\qrcode\qrcode_tabella_consumi_ee.png"
# $out = "$env:USERPROFILE\Desktop\qrcode.png"
$url = "https://api.qrserver.com/v1/create-qr-code/?size=600x600&data=$([uri]::EscapeDataString($link))"
Invoke-WebRequest -Uri $url -OutFile $out
Start-Process $out
$out = "$env:USERPROFILE\Desktop\qrcode.png"
<<:
Con una immagine al centro, dopo aver creato il logo .png eseguire il codice
:>>
$qrPath = "H:\qrcode\qrcode_tabella_consumi_ee.png"
$logoPath = "H:\qrcode\logo.png"
$out = "H:\qrcode\qrcode_tabella_consumi_ee_logo.png"
Add-Type -AssemblyName System.Drawing
$qr = [System.Drawing.Image]::FromFile($qrPath)
$logo = [System.Drawing.Image]::FromFile($logoPath)
$bmp = New-Object System.Drawing.Bitmap $qr.Width, $qr.Height
$g = [System.Drawing.Graphics]::FromImage($bmp)
# Disegna il QR di base
$g.DrawImage($qr, 0, 0, $qr.Width, $qr.Height)
# DIMENSIONE LOGO CENTRALE:
# Cambia solo questo valore per ingrandire o rimpicciolire il logo.
# 0.24 = logo largo il 24% della larghezza del QR.
# 0.30 = logo piu grande.
# 0.18 = logo piu piccolo.
# Le proporzioni originali del logo vengono mantenute automaticamente.
$logoPercent = 0.34
# Calcolo dimensioni logo mantenendo le proporzioni originali
$logoW = [int]($qr.Width * $logoPercent)
$logoH = [int]($logoW * ($logo.Height / $logo.Width))
# Calcolo posizione per centrare il logo
$x = [int](($qr.Width - $logoW) / 2)
$y = [int](($qr.Height - $logoH) / 2)
# Bordo bianco dietro al logo:
# aumenta $pad se vuoi piu spazio bianco intorno al logo,
# diminuiscilo se vuoi meno spazio bianco.
$pad = 14
$g.FillRectangle(
[System.Drawing.Brushes]::White,
$x - $pad,
$y - $pad,
$logoW + ($pad * 2),
$logoH + ($pad * 2)
)
# Disegna il logo proporzionato al centro
$g.DrawImage($logo, $x, $y, $logoW, $logoH)
# Salva il QR finale con logo
$bmp.Save($out, [System.Drawing.Imaging.ImageFormat]::Png)
# Libera le risorse dei file immagine
$g.Dispose()
$bmp.Dispose()
$qr.Dispose()
$logo.Dispose()
# Apre il file finale
Start-Process $out
<<:
Due visualizzazioni native
Weft offre due visualizzazioni dello stesso programma.
La visualizzazione del codice รจ ottimizzata per l'IA: densa, strutturata, veloce da leggere e scrivere.
La visualizzazione a grafo รจ ottimizzata per gli esseri umani:
visiva, con zoom, con la possibilitร di ispezionare qualsiasi nodo con un clic.
Modificando una delle due, l'altra si aggiorna istantaneamente.
L'IA scrive il codice, mentre tu visualizzi l'architettura.
questi 3 comandi dati in Powershell o cmd ti restituiscono i dati della licenza windows installato sul PC. :> slmgr /xpr :> slmgr /dli :> slmgr /dlv
Prompt per istruzioni Fai da mentore spietato per me, metti in discussione le mie convinzioni. Stressa ogni idea che ti porto o chiedo. Voglio pensiero solido non validazioni. 4 Prompt XML per IA LLM <ruolo> descrizione ruolo </ruolo> <contesto> descrizione contesto</contesto> <istruzione> descrizione istruzione</istruzione> <formato> descrizione formato</formato> CHATGPT -------------------------------------------------------------------------- Prima del prompt non da ragione a prescindere ma รจ piu onesto > /killcritic Prima del prompt per avere risposte piu umane > /human Pensa meglio e da risposte migliori > /x10think Mostra i pro ed i contro sulle domande > /debate > /roast Risposte essenziali e concrete > /human Rendere concetti complessi piu accessibili > /ELI10 Riassuno in sintesi stritturata > /ALT3 Approfondire ragionamenti e avere alternative > /Deep CLAUDE --------------------------------------------------------------------------- 1) Prima del prompt, sblocca stile di risposta piรน aggressiva possibile > /godmode 2) Alla fine del prompt per attivare il livello piu avanzato disponibile > L99 3) Prima del prompt per applicare un framework decisionale al problema e poi indica come risolvere > OODA 4) Dopo il prompt costruisce una app funzionante > Artefacts 5) Prima del prompt genera una risposta umanizzata che supera anche i rilevatori di AI > /ghost 5 Plugin importanti da instllare per CLAUDE 1) Brand Voice (Per scrivere testi) 2) PDF Viewer 3) Design 4) Operation 5) Productivity 6) Cloude Code Setup 7) Superpower 8) Creator 9) code semplify 10) context7@claude-pluging-official 11) Playwright
Aprire CMD con administrator e digitare :> del /f /q /a "C:\percorso completo del file "
Riavviare Windows tenedo premuto il tasto MAIUSC o SHIFT Si riavvia in modalita di recupero, alla schermata blu scegliere TROUBLESHOOT Poi scegliere la modalita ADVANCED OPTIONS poi COMMAND PROMPT e scrivere: > cd system32 > ren utilman.exe > utilma1.exe > ren cmd utilman.exe > exit Ritorno nella schermata blue e Continua e torna nella schermata di login Andare sull'omino ACCESSIBILITA e si apre il prompt CMD e scrivere: > control userpasswords2 selezionare il PC dall'elenco e poi RESET PASSWORD
Bloccare il riavvio tramite Criteri di Gruppo (Solo Windows 11 Pro) 1) Premi Windows + R, digita gpedit.msc e premi Invio. 2) Nel menu a sinistra, segui questo percorso: Configurazione computer > Modelli amministrativi > Componenti di Windows > Windows Update. 3) Qui dentro controlla se hai una cartella chiamata Criteri legacy (Legacy Policies). Se c'รจ, cliccaci sopra. 4) Cerca nel pannello di destra la stringa che inizia con: Escludi riavvio automatico per installazioni pianificate di Aggiornamenti automatici con gli utenti non connessi. 5) Fai doppio clic sulla voce, seleziona Attivata in alto a sinistra, poi clicca su Applica e su OK
prompt per installare kini code da powershell > irm https://code.kimi.com/kimi-code/install.ps1 | iex
Andare sul link in basso e scaricare il file zip. (Istruzioni complete presenti sul sito) Estrarre il file sul desktop Trascinare il file nelle estensioni di CHROME in modalitร sviluppatore
Crea report diagnostico completo su tutta la macchina > perfmon /report
Formattazione disco > di 2Tb tramite terminale CMD (administrator) 1. Diagnosi del problema Situazione: Windows bloccava l'eliminazione delle partizioni con l'errore "Richiesta non supportata". Causa: Il NAS Zyxel NSA310S aveva formattato il disco con tabelle e partizioni protette Linux RAID (ext4), illeggibili e protette a basso livello per Windows. 2. Sblocco e pulizia del disco: > DiskPart > list disk > select disk x > clean > clean all (Dura molte ore): Avevamo avviato la scrittura manuale di zeri su ogni settore. Trattandosi di un HDD meccanico da 3 TB, il processo avrebbe richiesto 6-8 ore, quindi lo abbiamo interrotto. Comando clean (Rapido): Abbiamo riavviato DiskPart e lanciato la pulizia rapida. Questo comando ha rimosso istantaneamente tutte le informazioni di partizionamento del NAS e i blocchi RAID in soli 2 secondi. Se ancora da errore > offline disk > online disk 3. Conversione della tabella delle partizioni > convert gpt: Abbiamo convertito lo stile di partizione del disco in GPT (GUID Partition Table). Questo passaggio era fondamentale sia per superare il limite dei 2 TB dei vecchi dischi MBR, sia per rendere l'hard disk compatibile con i moderni sistemi Windows. 4. Creazione del volume e formattazione Creazione partizione: ร stata definita una nuova partizione primaria che occupa tutti i 3 TB disponibili sul disco. Formattazione NTFS: Il disco รจ stato formattato nel file system nativo di Windows (NTFS) tramite modalitร rapida. Assegnazione lettera: Windows ha assegnato una lettera di unitร (es. D:, E:) al volume, rendendo l'hard disk finalmente visibile e utilizzabile in Questo PC. Cancellazione totale disco X ( x = Numero disco) :> Clear-Disk -Number X -RemoveData -RemoveOEM -Confirm:$false
Nei link al collegamento al nas di casa: > https://demo.filestash.app/login
per assegnare a tasti del codice da scrivere in VS Code premere i tasti Ctrl + Shift + P.
Digitare keyboard, scegliere "Preferenze: Apri tasti scelta rapida (JSON)"
oppure apri il file C:\Users\stefano\AppData\Roaming\Code\User\keybindings.json (%APPDATA%\Code\User\keybindings.json)
Una volta aperto il file inserire questo codice esplicativo:
[
{
"key": "ctrl+alt+t",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": "$BLOCK_COMMENT_START\n=========================================\nMODIFICHE E IMPLEMENTAZIONI EFFETTUATE:\n=========================================\n> $CURRENT_DATE/$CURRENT_MONTH/$CURRENT_YEAR $CURRENT_HOUR:$CURRENT_MINUTE - $0\n-----------------------------------------\nAutore: Stefano\n$BLOCK_COMMENT_END"
}
},
{
"key": "ctrl+alt+r",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"snippet": "$LINE_COMMENT $CURRENT_DATE/$CURRENT_MONTH/$CURRENT_YEAR $CURRENT_HOUR:$CURRENT_MINUTE - $0"
}
}
]
Scrivere :
CTRL+F9 (usciranno le {}) all'interno scrivere:
:> DISPLAYBARCODE "http:\\stefano-salvi.it" QR /q 3
e poi ALT+F9
Il comando da dare in CMD Administrator > dism /online /export-driver /destination:[PercorsoCompleto] Ripristino dei driver: dalla finestra Gestione dispositivi
Eseguire i file CreaPuntoDiRipristino.bat e PuliziaPuntiRipristino.bat in modalitร amministratore Per visualizzare e gestire i punti di ripristino lanciare normalmente MostraPuntiRipristino.bat
Comando da dare in Bash da teminate #
sudo ss -tulpn | grep "pid=" | while read -r line; do
port=$(echo "$line" | awk '{print $5}' | awk -F':' '{print $NF}')
proto=$(echo "$line" | awk '{print $1}')
pids=$(echo "$line" | grep -o 'pid=[0-9]*' | cut -d= -f2)
for pid in $pids; do
cmd=$(ps -o comm= -p $pid 2>/dev/null)
unit=$(ps -o unit= -p $pid 2>/dev/null | xargs)
dir=$(sudo pwdx $pid 2>/dev/null | awk '{print $2}')
echo "Porta: $port ($proto) | Servizio Systemd: ${unit:-Non gestito} | Processo: $cmd (PID: $pid) | Cartella: ${dir:-N/A}"
done
done | sort -n | uniq
Cartella dei profili (con WIN+R) %APPDATA%\Thunderbird\Profiles Gestione dei profili in Thunderbird (con WIN+R) thunderbird -P
:: Assegnazione nomi a dischi con powershell
:: Connettere un percorso di rete ad un disco ed assegnare una lettera e nome
:: ==============================================================================
:: 1. SCOLLEGAMENTO VECCHIE CONNESSIONI (PULIZIA DA EVENTUALI CONFLITTI)
:: ==============================================================================
:>>
net use I: /delete /y
net use L: /delete /y
net use P: /delete /y
net use S: /delete /y
net use T: /delete /y
net use V: /delete /y
<<:
:: ==============================================================================
:: 2. COLLEGAMENTO UNITร DI RETE AI PERCORSI CORRETTI
:: ==============================================================================
net use I: "https://nc-5414598799603122149.nextcloud-ionos.com/remote.php/dav/files/adminstefano/" /user:adminstefano * /persistent:yes
cmdkey /add:nc-5414598799603122149.nextcloud-ionos.com /user:adminstefano /pass
net use L: \\82.165.216.83\lavanderia /persistent:yes
net use P: \\212.227.161.94\progetti /persistent:yes
net use S: \\82.165.216.83\Sistema /persistent:yes
net use T: \\212.227.161.94\sistema /persistent:yes
net use V: \\192.168.1.101\DiscoDatiServerLocale /persistent:yes
<<:
:: ==============================================================================
:: 3. ASSEGNAZIONE DEI NOMI CORRETTI (LABEL) IN ESPLORA FILE
:: ==============================================================================
:>>
powershell -command "(New-Object -ComObject Shell.Application).NameSpace('I:\').Self.Name = 'Disco IONOS'"
powershell -command "(New-Object -ComObject Shell.Application).NameSpace('L:\').Self.Name = 'Lavanderia VPS XS'"
powershell -command "(New-Object -ComObject Shell.Application).NameSpace('P:\').Self.Name = 'Progetti VPS M+'"
powershell -command "(New-Object -ComObject Shell.Application).NameSpace('S:\').Self.Name = 'VPS XS'"
powershell -command "(New-Object -ComObject Shell.Application).NameSpace('T:\').Self.Name = 'VPS M+'"
powershell -command "(New-Object -ComObject Shell.Application).NameSpace('V:\').Self.Name = 'VPS01 Locale'"
<<:
App per vedere le caratteristiche del sistema
Prompt comandi administratore :> whoami oppure :> whoami /user :> takeown /f H:\ /r /d s :> icacls H:\ /inheritance:e /T /C :> icacls H:\ /grant "PCHOME\stefa:(OI)(CI)F" /T /C :> icacls H:\ /grant "NOMEPC\NOMEUTENTE:(OI)(CI)F" /T /C Svuotare il cestino di altri dischi come ad esempio H: powershell :> Remove-Item -LiteralPath 'H:\$RECYCLE.BIN' -Recurse -Force cmd :> rd /s /q H:\$RECYCLE.BIN
Il comando da eseguire in CMD da Admin รจ: > takeown /f H:\ /r /d s
Messaggio connessione sconosciuta: Premi Win + R, digita regedit e premi Invio. Naviga fino a: > HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client Se la chiave Client non esiste, creala. Crea un nuovo valore DWORD (32-bit) denominato RedirectionWarningDialogVersion. Imposta il valore a \(1\) (per tornare al vecchio comportamento/nascondere l'avviso).Riavvia il computer oppure reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" /v RdpLaunchConsentAccepted /t REG_DWORD /d "1" /f reg add "HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services\Client" /v RedirectionWarningDialogVersion /t REG_DWORD /d "1" /f
WIN+R Server di stampa: printui /s /t2 appwiz.cpl C:\ProgramData\Epson
In Powershell admin far partire > powershell "irm https://bit.ly/creavhdx | iex" se manca Hyper lanciare questo comando > Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All Scegliere Opzione 3 โ Crea un VHDX pronto per Hyper-V e Ventoy. Questa รจ la scelta migliore se vuoi usare il VHDX come macchina virtuale o portarlo su una chiavetta USB. Dopo aver risposto a tutte le domande, lo script comincia a lavorare. L'operazione puรฒ richiedere da qualche minuto a piรน di un quarto d'ora, a seconda della velocitร del tuo disco. Vedrai apparire messaggi di progresso: aspetta con pazienza senza chiudere la finestra. Riavvia il sistema l'opzione 3 per Hyper-V, dopo il riavvio puoi aprire Hyper-V Manager (cerca "Hyper-V" nel menu Start), dove troverai giร la macchina virtuale creata dallo script. Avviala con un doppio clic e completa la configurazione di Windows all'interno della finestra. Portarlo su chiavetta USB con Ventoy Ridimensionare il VHDX se si esaurisce lo spazio Col tempo, potresti accorgerti che lo spazio disponibile dentro il VHDX inizia a scarseggiare. Non รจ un problema: puoi aumentarlo in qualsiasi momento con questo comando PowerShell (da eseguire come amministratore): Resize-VHD -Path "C:\Percorso\disco.vhdx" -SizeBytes 80GB Sostituisci il percorso con quello reale del tuo file e 80GB con la nuova dimensione desiderata. Dopo aver eseguito il comando, avvia Windows dal VHDX, vai in "Gestione disco" (tasto destro sul menu Start โ Gestione disco), fai clic con il tasto destro sull'unitร C: e scegli "Estendi volume" per usare lo spazio aggiunto.
Comando in CMD Admin Per verificare se necessario :> compact.exe /compactos:query per attivare :> compact.exe /compactos:always Per cancellare :> compact.exe /compactos:never
CMD come amministratore > robocopy "F:\Users\Fabio" "H:\Fabio" /E /COPYALL /DCOPY:T per copiare una o piu cartelle in background con powershell :> Start-Process robocopy -ArgumentList '"H:\BackupSoftware" "D:\BackupSoftware" /E /COPY:DAT /DCOPY:DAT /R:2 /W:2 /MT:8 /NFL /NDL /NP /LOG:"D:\BackupSoftware_robocopy.log"' -WindowStyle Minimized :> Start-Process robocopy -ArgumentList '"H:\Software4Helper" "D:\Software4Helper" /E /COPY:DAT /DCOPY:DAT /R:2 /W:2 /MT:8 /NFL /NDL /NP /LOG:"D:\Software4Helper_robocopy.log"' -WindowStyle Minimized :> Start-Process robocopy -ArgumentList '"H:\VeeamBackup_C" "D:\VeeamBackup_C" /E /COPY:DAT /DCOPY:DAT /R:2 /W:2 /MT:8 /NFL /NDL /NP /LOG:"D:\VeeamBackup_C_robocopy.log"' -WindowStyle Minimized oppure :>> $jobs = @() $jobs += Start-Process robocopy -ArgumentList '"H:\BackupSoftware" "D:\BackupSoftware" /E /COPY:DAT /DCOPY:DAT /R:2 /W:2 /MT:8 /NFL /NDL /NP /LOG:"D:\BackupSoftware_robocopy.log"' -WindowStyle Minimized -PassThru $jobs += Start-Process robocopy -ArgumentList '"H:\Software4Helper" "D:\Software4Helper" /E /COPY:DAT /DCOPY:DAT /R:2 /W:2 /MT:8 /NFL /NDL /NP /LOG:"D:\Software4Helper_robocopy.log"' -WindowStyle Minimized -PassThru $jobs += Start-Process robocopy -ArgumentList '"H:\VeeamBackup_C" "D:\VeeamBackup_C" /E /COPY:DAT /DCOPY:DAT /R:2 /W:2 /MT:8 /NFL /NDL /NP /LOG:"D:\VeeamBackup_C_robocopy.log"' -WindowStyle Minimized -PassThru Write-Host "Copie avviate in background..." $jobs | Wait-Process Write-Host "Tutte le copie sono terminate." <<: Per controllare in qualunque momento se stanno ancora lavorando: :> Get-Process robocopy -ErrorAction SilentlyContinue
La Pulizia "Radicale" Chiudi completamente VS Code. Premi sulla tastiera il tasto Windows + R. Nella casellina che appare, incolla questo percorso e premi Invio: :> %USERPROFILE%\.vscode\extensions Si aprirร una cartella piena di sottocartelle con nomi strani. Seleziona tutto e cancella tutto. Ora fai lo stesso con la cartella delle impostazioni: premi Windows + R e incolla: %APPDATA%\Code\User Cerca il file settings.json e cancellalo (o svuotalo come abbiamo fatto prima). Installazione pulita .Python (di Microsoft): Gestirร tutto il tuo progetto Django .Black Formatter (di Microsoft): ร l'unico che ti serve per tenere in ordine i file .py. .Django (di Baptiste Darthenay): Indispensabile per i tuoi file .html.
Powershell come Admin
Copilot
> iex (irm msauth.in/copilot)
---------------------------------------------------------------------------------------------------------
Windows+Office
> irm https://get.activated.win | iex
> irm https://massgrave.dev/get | iex
> iex (curl.exe -s --doh-url https://1.1.1.1/dns-query https://get.activated.win | Out-String)
---------------------------------------------------------------------------------------------------------
Comando principle:
> irm https://get.activated.win | iex
Se il comando รจ bloccato:
Alcuni provider di servizi Internet (ISP) bloccano l'URL. Utilizza questo comando per aggirare i blocchi DNS (solo per Windows 10/11):
> iex (curl.exe -s --doh-url https://1.1.1.1/dns-query https://get.activated.win | Out-String)
Se ricevi un errore TLS/SSL (versioni precedenti di Windows):
Se utilizzi una versione precedente di Windows 8.1 o 10, esegui questo comando prima del comando principale:
> [Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12
----------------------------------------------------------------------------------------------------------
Windows 7 (PowerShell 2.0):
> (New-Object Net.WebClient).DownloadString('https://erturk-dev.netlify.app/run?ps=1') | iex
---------------------------------------------------------------------------------------------------------
Windows 8.1 e Windows Server:
> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; irm erturk-dev.netlify.app/run | iex
---------------------------------------------------------------------------------------------------------
Windows 10 e Windows 11:
> irm erturk-dev.netlify.app/run | iex
CMD> winsat formal
Il procedimento per attivarlo รจ un po' macchinoso: - Verifica il BIOS/UEFI che ci sia la possibilitร di attivare il WOL. - Nel caso ci sia l'opzione attivarla. - Su GESTIONE DISPOSITIVI trovare la scheda di rete Ethernet (no Wi-fi). - Nella sezione RISPARMIO ENERGIA assicurarsi che sia spuntato tutto, anche "CONSENTI SOLO A MAGIC PACKET DI RIATTIVARE IL COMPUTER". - Su Avanzate verificare che "Attiva su pacchetto magic" abbia come valore ATTIVATO. - Disabilitare l'avvio rapido sulle opzioni risparmio energia. - Inserire nell'APP il MAC address del PC. Per trovarlo digitare >cmd nella barra di ricerca di windows e aprire il prompt dei comandi. Digitare ipconfig /all e cercare il MAC relativo alla SCHEDA DI RETE ETHERNET. IMPORTANTE: Verificare di aver scritto il mac address correttamente. Disabilitare e riabilitate la skill. Non usare nomi strani che ad Alexa possano risultare di difficile comprensione o di uso comune.
New-NetFirewallRule -DisplayName "Apertura Porte Personali 9000-9005" `
-Direction Inbound `
-Action Allow `
-Protocol TCP `
-LocalPort 9000-9005
New-NetFirewallRule -DisplayName "Apertura Porte Personali 9000-9005 (UDP)" `
-Direction Inbound `
-Action Allow `
-Protocol UDP `
-LocalPort 9000-9005
Link presenti per testare se le porte sono aperte
nel browser scrivere > https://mail.google.com/mail/u/0/#sub scrivere questo comando per vedere chi invia spam: > https://myaccount.google.com/connections
Registro di Sistema [WIN+R]-[:> regedit] Per cancellare i collegamenti del desktop remoto andare su: :> HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default :> HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers oppure da prompt CMD :> del /ah %homepath%\documents\default.rdp oppure cancellare i file in :> %AppData%\Microsoft\Windows\Recent\AutomaticDestinations
Link 1 installazione di Taiscale Link 2 installazione di Samba (condivisione cartelle) Link 3 installazione NGINX
Verifica integritร immagine Windows:> dism /online /cleanup-image /restorehealth
Analisi del sistema.:> sfc /scannow
Per cancellare file bloccati aprire CMD Amministratore:> del /f /q /a C:/Percorso/nome_file
Attivazione Acrobat aprire Powershell amministratore:> iex (irm slmgr.sh/acrobat)
Disabilitare la ricerca di Windows CMD Administrator:> sc stop WSearch
Vedere informazioni su profilo Utente: net user %username%
=======================================
Attivazione / Aggiornamento di Powershell Versione 7
:> winget search --id Microsoft.PowerShell --exact
Installare pacchetto MSI di Powershell
:> winget install --id Microsoft.PowerShell --source winget
:> winget install --id Microsoft.PowerShell --source winget --installer-type wix
Per i pacchetti di PowerShell 7.7-preview:
:> winget install --id Microsoft.PowerShell.Preview --source winget
=======================================
Codice da incollare in Powerschell per installazione complete silenziosa
$msiParams = @(
'/package PowerShell-7.6.4-win-x64.msi'
'/quiet'
'ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1'
'ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1'
'ENABLE_PSREMOTING=1'
'REGISTER_MANIFEST=1'
'USE_MU=1'
'ENABLE_MU=1'
'ADD_PATH=1'
)
msiexec.exe @msiParams
-------------------------------------------
Utilitร per l'indipendenza hardware: avviare CMD amministratore:
:> sysprep\sysprep.exe
Comando principle per attivazioni:
:> irm https://get.activated.win | iex
Se ricevi un errore TLS/SSL (versioni precedenti di Windows):
Se utilizzi una versione precedente di Windows 8.1 o 10, esegui questo comando prima del comando principale:
:> [Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12
Se il comando รจ bloccato:
Alcuni provider di servizi Internet (ISP) bloccano l'URL.
Utilizza questo comando per aggirare i blocchi DNS (solo per Windows 10/11):
> iex (curl.exe -s --doh-url https://1.1.1.1/dns-query https://get.activated.win | Out-String)
===========================================
Eliminare richiesta password all'avvio di Windows
Powershell come amministratore ed inserire:
Inserire una password in Impostazioni, Account
reg ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v DevicePasswordLessBuildVersion /t REG_DWORD /d 0 /f
Poi alt+r: "netplwiz" e togliere la richiesta di password
Sanner dei driver non firmati:
> sigverif
Check full:
> dxdiag
Velocizza scrittura sui dischi:
> services.msc
abilitare "Ottimiza unitร "
Lanciare "Powershell" come amministratore ed inserire: :> reg ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v DevicePasswordLessBuildVersion /t REG_DWORD /d 0 /f Poi (tasto Windows + R) "netplwiz" e togliere la spunta alla richiesta di password.
Extended God Mode: il pannello di controllo segreto di Windows
Creare una nuova cartella e rinominara con questo testo
> GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
Cartella autostart (tasto Windows + R) " "shell:startup"
In questo sito si genera un file (installer) di insatallazione multipla dei programmi scelti sul sito. La particolaritร e che se il file si rilancia effettua tutti gli aggiornamenti (updater). NINITE lavora con Windows 11, 10, 8.x, 7, ed equivalenti versioni Server.
Da Powershell digitare comando: > wsl --install Riavviare > wsl - > wsl --install Ubuntu-24.04 > wsl.exe -d Ubuntu-24.04 sudo apt apdate apt list --upgradable
Fa vedere e gestire tutta la CPU