Prompt:
RUOLO
Sei un programmatore esperto di trading automatico (cTrader cAlgo / C#, o il linguaggio del bot che ti indico). Devi AGGIUNGERE al bot la scrittura di un file di log in un formato preciso, letto da un programma di statistiche che calcola: statistiche per operazione, giornaliere, mensili e annuali, drawdown, serie di stop loss, verifica Stop Out, qualita dell'ingresso e segnali bloccati. NON modificare in alcun modo la logica di trading, gli ordini, i parametri o le altre scritture di log gia presenti: aggiungi solo il logging descritto qui.
FORMATO GENERALE (regole tassative, il programma legge il file riga per riga)
1. Il log e un file di testo UTF-8. Ogni evento e un BLOCCO fatto cosi:
- una riga di intestazione, che inizia con "[" nella prima colonna, subito seguita da data e ora "dd/MM/yyyy HH:mm:ss" (i primi 20 caratteri devono essere cioe "[01/05/2026 02:17:00"), poi quello che vuoi (consigliato " UTC | 01/05/2026 04:17:00 Locale]") e che TERMINA ESATTAMENTE con il titolo del blocco, senza nulla dopo. Esempio:
[01/05/2026 02:17:00 UTC | 01/05/2026 04:17:00 Locale] APERTURA OPERAZIONE
- righe di campo, ognuna con ALMENO 3 spazi iniziali, nome del campo, due punti, valore:
NomeCampo : valore
(il primo ":" separa nome e valore; il nome non contiene ":"; se un nome compare due volte nello stesso blocco vale solo la prima volta)
- righe di sezione facoltative per leggibilita, senza spazi iniziali, es. "-- Posizione --" (vengono ignorate)
- una riga finale che inizia con "====" (consigliate 60 uguali).
2. Nessun prefisso davanti alle righe (niente data/ora/livello del logger davanti all'intestazione o ai campi). Le righe fuori dai blocchi vengono ignorate: puoi scrivere altro liberamente.
3. I titoli devono essere IDENTICI a questi (maiuscole, spazi e parentesi compresi):
AVVIO BOT | APERTURA OPERAZIONE | RIEPILOGO CHIUSURA OPERAZIONE | USCITA ESEGUITA | QUALITA INGRESSO (non operativa) | TRADE BLOCCATO
4. PositionId e il legame tra i blocchi della stessa operazione: stesso identificativo in APERTURA, USCITA, QUALITA INGRESSO e RIEPILOGO, unico all'interno di una esecuzione del bot.
5. Ogni volta che il bot parte scrive un blocco AVVIO BOT: il programma usa quel blocco per separare le esecuzioni accodate nello stesso file.
REGOLE SUI VALORI
- Numeri in formato ITALIANO: virgola come decimale e punto come separatore delle migliaia (4.633,79 / -1.433,44 / 0,3 / 2.236,1823). NON usare mai il punto come decimale con esattamente tre cifre decimali (es. 0.300 o 1.000): verrebbe letto come migliaia.
- Valore non disponibile: scrivi n/d (oppure null). Mai stringhe vuote con testo inventato.
- Data e ora nei campi EntryTime, CloseTime, SignalTime, ExitTime: iniziano sempre con "dd/MM/yyyy HH:mm:ss" (poi puoi aggiungere " UTC | ... Locale").
- Usa un fuso orario unico e costante in tutto il log, consigliato UTC: giorni, mesi e anni delle statistiche sono assegnati in base alla data scritta (prima del "|") dell'ORA DI CHIUSURA.
- Importi nella valuta del conto. Anche se non e l'euro, i nomi dei campi con suffisso EUR restano esattamente quelli indicati sotto.
- Pips/punti: sempre nella stessa unita in tutto il log.
- Non scrivere MAI chiavi API, password, token o numeri di telefono: per i dati riservati scrivi solo PRESENTE o ASSENTE.
BLOCCHI E CAMPI
1) AVVIO BOT (all'avvio del bot)
Obbligatori: Versione, Simbolo, Broker, "Ora UTC" (data e ora di avvio).
Poi TUTTI i parametri di input e le impostazioni operative del bot, uno per riga (Nome : Valore): il programma li salva, li mostra e li confronta tra due analisi per evidenziare i parametri diversi.
2) RIEPILOGO CHIUSURA OPERAZIONE (OBBLIGATORIO: un blocco per ogni posizione chiusa, scritto alla chiusura con i valori FINALI. Senza questo blocco l'operazione non esiste per il programma)
PositionId identificativo della posizione
TradeType Buy oppure Sell
Reason motivo di chiusura come lo riporta il broker/la piattaforma (es. StopLoss)
VolumeUnits volume in unita
EntryTime data/ora di apertura
EntryPrice prezzo di ingresso
CloseTime data/ora di chiusura
GrossProfit profitto lordo (prima di commissioni e swap)
NetProfit profitto netto finale (dopo commissioni e swap)
ClosePips risultato in pips/punti alla chiusura
MotivoChiusuraBot motivo deciso dal bot (vedi CLASSIFICAZIONE)
DurataMinuti durata in minuti, anche decimale
MaxPipsRaggiunti massimo di pips raggiunto durante l'operazione
MinPipsRaggiunti minimo di pips raggiunto (negativo se andata in perdita)
MaxProfittoEURRaggiunto massimo profitto flottante raggiunto, in valuta del conto
MinProfittoEURRaggiunto massima perdita flottante raggiunta, in valuta del conto (negativa); serve al drawdown con flottante e alla verifica Stop Out
MinutiAlMassimoPips minuti dall'apertura al momento del massimo
MinutiAlMinimoPips minuti dall'apertura al momento del minimo
3) APERTURA OPERAZIONE (un blocco per ogni apertura, scritto subito DOPO l'apertura, con la posizione gia aperta)
PositionId, TradeType
VolumeLots volume in lotti (sempre scritto: il programma lo usa per i lotti)
SignalTime data/ora del segnale
EntryPrice prezzo di ingresso reale
SpreadPipsIngresso spread al momento dell'ingresso
AccountBalanceEUR saldo del conto (il primo vale come saldo iniziale se l'utente non ne indica uno)
AccountEquityEUR equity del conto subito dopo l'apertura
MarginLevelPercent Margin Level % subito dopo l'apertura (equity e Margin Level servono a ricavare il margine impegnato per la verifica Stop Out; se mancano la verifica non e possibile)
Facoltativi: H1Adx, H4Adx, DailyAdx (valori numerici di ADX ai tre timeframe)
4) USCITA ESEGUITA (un blocco alla chiusura, dai dati dell'esecuzione)
PositionId, Reason, ExitTime, ExitPrice (prezzo di uscita), Commissions, Swap
5) QUALITA INGRESSO (non operativa) (facoltativo, alla valutazione del segnale)
PositionId, PunteggioAllineamento (punteggio numerico di qualita dell'ingresso)
6) TRADE BLOCCATO (facoltativo: un blocco per ogni segnale scartato da un filtro)
Reason motivo del blocco, testo breve e stabile (sempre uguale per lo stesso filtro, es. TrendEntryConfirmationRejected)
(l'ora dell'intestazione indica il giorno del segnale bloccato; altri campi possono esserci ma non vengono letti)
CLASSIFICAZIONE DEGLI ESITI (campo MotivoChiusuraBot, in mancanza il programma usa Reason)
- contiene "StopLoss" -> conteggiata come SL (se il netto e positivo: "SL in profitto")
- contiene "StopOutIcMarkets" -> conteggiata come STOP OUT (stringa da usare quando il broker chiude per Stop Out)
- altrimenti, netto > 0 -> conteggiata come TARGET (usa un testo che dica il motivo, es. DailyProfitTargetReached, MonthlyProfitTargetReached)
ESEMPIO COMPLETO DI UN'OPERAZIONE CHIUSA IN STOP LOSS
[01/05/2026 02:17:00 UTC | 01/05/2026 04:17:00 Locale] APERTURA OPERAZIONE
-- Posizione --
PositionId : 1
TradeType : Buy
VolumeLots : 0,3
-- Tempi e prezzi --
SignalTime : 01/05/2026 02:17:00 UTC | 01/05/2026 04:17:00 Locale
EntryPrice : 4.633,79
-- Contesto ingresso --
SpreadPipsIngresso : 6
AccountBalanceEUR : 5.000
AccountEquityEUR : 4.990,63
MarginLevelPercent : 2.236,1823
H1Adx : 23,61541
============================================================
[01/05/2026 07:56:55 UTC | 01/05/2026 09:56:55 Locale] USCITA ESEGUITA
PositionId : 1
Reason : StopLoss
ExitTime : 01/05/2026 07:56:55 UTC | 01/05/2026 09:56:55 Locale
ExitPrice : 4.578,61
Swap : 0
Commissions : -7,82
============================================================
[01/05/2026 07:56:55 UTC | 01/05/2026 09:56:55 Locale] RIEPILOGO CHIUSURA OPERAZIONE
PositionId : 1
TradeType : Buy
Reason : StopLoss
VolumeUnits : 30
EntryTime : 01/05/2026 02:17:00 UTC | 01/05/2026 04:17:00 Locale
EntryPrice : 4.633,79
CloseTime : 01/05/2026 07:56:55 UTC | 01/05/2026 09:56:55 Locale
GrossProfit : -1.425,62
NetProfit : -1.433,44
ClosePips : -5.518
MotivoChiusuraBot : Broker:StopLoss
DurataMinuti : 339,92763
MinutiAlMassimoPips : 0,289
MinutiAlMinimoPips : 339,92763
MaxPipsRaggiunti : 227
MinPipsRaggiunti : -5.518
MaxProfittoEURRaggiunto : 50,83
MinProfittoEURRaggiunto : -1.433,44
============================================================
CONSEGNA E VERIFICA
- Consegnami le sole modifiche al codice del bot necessarie per scrivere questi blocchi, indicando in quali punti del codice sono scritti (all'avvio, dopo l'apertura, alla chiusura, quando un segnale viene scartato).
- Poi simula o descrivi un ciclo completo (avvio, un segnale bloccato, un'operazione aperta e chiusa in SL, una chiusa a target) e mostrami il testo esatto del log che ne risulta.
- Controlla uno per uno questi punti prima di consegnare: titoli identici; intestazione che inizia con "[" e finisce col titolo; campi con almeno 3 spazi iniziali; riga "====" a chiusura di ogni blocco; numeri in formato italiano; PositionId uguale in tutti i blocchi della stessa operazione; un RIEPILOGO CHIUSURA OPERAZIONE per ogni posizione chiusa (anche quelle chiuse da Stop Out, target o dal broker); nessun dato riservato scritto in chiaro; logica di trading invariata.
Corso Claude
Claude Code 100% GRATIS - Come usarlo SENZA PAGARE (anche su computer economici) Ho usato Claude Code per piΓΉ di 200 oreΒ Per scaricare Claude Code π https://code.claude.com/docs/en/quick... Per scaricare Antigravity π https://antigravity.google Marketplace con Skill di Anthropic π https://github.com/anthropics/claude-... Per la mia newsletter gratuita π https://antonioguadagno.substack.com
Comando
:>>
$InventarioDiscoD = @(
foreach ($CartellaD in (
Get-ChildItem -LiteralPath 'D:\' -Directory -Force -ErrorAction Stop
)) {
Write-Host "Calcolo: $($CartellaD.FullName)" -ForegroundColor Cyan
$ErroriD = @()
if ($CartellaD.Attributes -band [IO.FileAttributes]::ReparsePoint) {
Write-Warning "Collegamento non seguito: $($CartellaD.FullName)"
[pscustomobject]@{
Cartella = $CartellaD.Name
Bytes = 0
File = 0
Errori = 1
}
continue
}
$MisuraD = Get-ChildItem -LiteralPath $CartellaD.FullName `
-File -Recurse -Force `
-ErrorAction SilentlyContinue -ErrorVariable ErroriD |
Measure-Object -Property Length -Sum
[pscustomobject]@{
Cartella = $CartellaD.Name
Bytes = [long]$MisuraD.Sum
File = $MisuraD.Count
Errori = @($ErroriD).Count
}
}
$ErroriD = @()
$MisuraD = Get-ChildItem -LiteralPath 'D:\' -File -Force `
-ErrorAction SilentlyContinue -ErrorVariable ErroriD |
Measure-Object -Property Length -Sum
[pscustomobject]@{
Cartella = '[File nella radice D:]'
Bytes = [long]$MisuraD.Sum
File = $MisuraD.Count
Errori = @($ErroriD).Count
}
)
$InventarioDiscoD |
Sort-Object Bytes -Descending |
Select-Object Cartella,
@{Name='GB';Expression={[math]::Round($_.Bytes / 1GB,2)}},
File,Errori |
Format-Table -AutoSize
$TotaleD = ($InventarioDiscoD | Measure-Object -Property Bytes -Sum).Sum
Write-Host ("Totale file conteggiati: {0:N2} GB" -f ($TotaleD / 1GB))
<<:
Backup dei driver attuali :> Export-WindowsDriver -Online -Destination "H:\BackupSoftware\Backup_Progetti_Attivi\DriverBackup_19-09-2026" punto di ripristino fresco :> Checkpoint-Computer -Description "Prima riparazione in-place Windows 25H2" -RestorePointType MODIFY_SETTINGS Export driver :> Export-WindowsDriver -Online -Destination "H:\BackupSoftware\Backup_Progetti_Attivi\DriverBackup_Export_19-09-2026"
COMANDI DI RIPARAZIONE WINDOWS - RIFERIMENTO
Creato il: 19/09/2026
Contesto: diagnosi lentezza apertura Explorer causata da pacchetto Windows Defender
(MdOdrMcpFilterPackage) rimasto bloccato in stato "sospeso" dopo un aggiornamento
della piattaforma Defender (versione 4.18.26080.4-0) del 18/09/2026.
NOTA IMPORTANTE: questo file Γ¨ un elenco di riferimento, NON una sequenza da
lanciare tutta insieme. I comandi vanno eseguiti uno alla volta, solo quando
servono, in una finestra PowerShell/CMD aperta come Amministratore. Davanti a
ogni comando da lanciare c'Γ¨ il simbolo ">".
===============================================================================
1) RIPARAZIONE FILE DI SISTEMA / COMPONENT STORE
(passo attualmente in corso per il problema Explorer/Defender)
===============================================================================
Solo scansione, senza riparare (piu' veloce, dice se c'e' danno):
:> DISM /Online /Cleanup-Image /ScanHealth
Controllo rapidissimo, solo flag di stato:
:> DISM /Online /Cleanup-Image /CheckHealth
Scansione e riparazione completa del component store (richiede internet):
:> DISM /Online /Cleanup-Image /RestoreHealth
Verifica/ripara i file di sistema protetti (da lanciare DOPO il DISM):
:> sfc /scannow
===============================================================================
2) DISCO / FILESYSTEM
===============================================================================
Controlla e ripara errori del filesystem su C: (richiede riavvio, disco di sistema):
:> chkdsk C: /f /r
Equivalente PowerShell, solo scansione, NON richiede riavvio:
:> Repair-Volume -DriveLetter C -Scan
===============================================================================
3) APP / STORE (pertinente al problema attuale)
===============================================================================
Ri-registrazione MIRATA del singolo pacchetto rotto (da usare solo se DISM+SFC
non risolvono - percorso e nome pacchetto da confermare prima di lanciare):
:> Add-AppxPackage -Register "C:\Program Files\WindowsApps\MdOdrMcpFilterPackage_1.0.0.0_neutral__cw5n1h2txyewy\AppxManifest.xml" -DisableDevelopmentMode
Ri-registrazione di TUTTI i pacchetti Store di tutti gli utenti - rimedio
"nucleare", generico, possibili effetti collaterali su altre app. Da evitare
a meno che i passi mirati falliscano:
:> Get-AppxPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppxManifest.xml"}
Pulisce solo la cache del Microsoft Store (utile per problemi di
download/aggiornamento app, non per pacchetti gia' bloccati):
:> wsreset.exe
===============================================================================
4) DRIVER
===============================================================================
Elenco dispositivi con driver in errore (equivalente di Gestione Dispositivi
da riga di comando):
:> pnputil /enum-devices /problem
Elenco driver di terze parti nel driver store:
:> DISM /Online /Get-Drivers
Nota: nei log del 18/09 sera sono presenti anche errori ripetuti del driver
WudfUsbccidDriver (lettore smart card/USB). Non risulta collegato al
rallentamento di Explorer - e' una pista separata, da controllare solo se si
vuole indagare anche quella.
===============================================================================
5) MEMORIA RAM
===============================================================================
Diagnostica memoria di Windows, pianifica un test al riavvio (utile solo in
caso di sospetti crash hardware/kernel):
:> mdsched.exe
===============================================================================
6) WINDOWS UPDATE (reset componenti - solo se Windows Update si blocca)
===============================================================================
Ferma i servizi coinvolti:
:> net stop wuauserv
:> net stop bits
:> net stop cryptsvc
Rinomina le cartelle cache (da fare con i servizi fermi):
:> ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
:> ren C:\Windows\System32\catroot2 catroot2.old
Riavvia i servizi:
:> net start wuauserv
:> net start bits
:> net start cryptsvc
===============================================================================
7) RETE (non pertinente al problema attuale, per completezza)
===============================================================================
:> netsh winsock reset
:> netsh int ip reset
:> ipconfig /flushdns
===============================================================================
PROSSIMO PASSO PER IL NOSTRO CASO SPECIFICO
===============================================================================
Dopo l'esito di DISM /RestoreHealth e sfc /scannow (sezione 1), se il pacchetto
MdOdrMcpFilterPackage risulta ancora "sospeso" nei log AppXDeploymentServer, il
passo mirato successivo e' la ri-registrazione del singolo pacchetto (sezione 3,
primo comando) - non quella di massa. Da confermare insieme prima di lanciarla.
Applicazione gestione delle applicazioni da un solo menu centralizzato
in sequenza : Verifica che il dominio risolva sullβIP pubblico :> nslookup casa.mionas.it Verifica che la porta FTP 21 sia raggiungibile :> Test-NetConnection casa.mionas.it -Port 21 Verifica il login con il tuo utente :> curl.exe -v -u admin ftp://casa.mionas.it:21/ Per verificare una cartella specifica, ad esempio share :> curl.exe -v -u admin ftp://casa.mionas.it:21/share/sda1/BTDownload/ Per un download :> curl.exe -u admin -O ftp://casa.mionas.it:21/share/sda1/BTDownload/NOMEFILE
:>>
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 copiare piu cartelle nella stessa destinazione:
:>>
$cartelle = @(
"Ashampo Software",
"Audio",
"Canc. File Nomi lunghi",
"cpu-z",
"Driver",
"EASE-US Partition Manager",
"FTP",
"Grafica",
"HAM",
"Thunderbird",
"Video",
"VPN"
)
foreach ($cartella in $cartelle) {
Write-Host ""
Write-Host "============================================================"
Write-Host "Copia: $cartella"
Write-Host "============================================================"
robocopy "D:\Indispensabili\$cartella" "H:\Indispensabili\$cartella" /E /Z /XC /XN /XO /COPY:DAT /DCOPY:DAT /R:2 /W:2 /XJ
}
<<:
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
net use N: /delete /y
<<:
:: ==============================================================================
:: 2. COLLEGAMENTO UNITΓ DI RETE AI PERCORSI CORRETTI
:: ==============================================================================
cmdkey /add:nextcloud.casamianet.it /user:adminstefano
net use I: "\\nextcloud.casamianet.it@SSL\remote.php\dav\files\adminstefano" /user:adminstefano * /persistent:yes
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
net use N: \\192.168.1.151\sda1 /user:admin kimax /persistent:yes
<<:
:: ==============================================================================
:: 3. ASSEGNAZIONE DEI NOMI CORRETTI (LABEL) IN ESPLORA FILE Powershell non Amministratore
:: ==============================================================================
:>>
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'"
powershell -command "(New-Object -ComObject Shell.Application).NameSpace('N:\').Self.Name = '3TB WD NAS 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