Quando ho dubbi o devo imparare qualcosa di nuovo, mi trovo bene con Grok, ma anche gli altri (ChatGPT, Perplexity, Gemini, etc.) solitamente se la cavano con quesiti non troppo complessi (nei casi più articolati chiedo a più bot e poi scelgo quello che mi convince di più; per farlo avevo uno script, ma dovrei aggiornarlo perché hanno cambiato le pagine di accesso). L'importante, come hai già notato, è avere un po' di pazienza e confezionare dei prompt ben ragionati, in modo che l'AI vada dritta al punto.
×
Ricerca articoli
Cerca e inserisci il collegamento a un articolo pubblicato da TurboLab.it
Digita almeno 3 caratteri, poi premi "Invio"
... e le chiamano AI
Regole del forum
-
Zigul
- VIP

- Messaggi: 739
- Iscritto il: dom ott 08, 2023 12:11 am
- Has thanked: 50 times
- Been thanked: 73 times
Re: ... e le chiamano AI
Quando ho dubbi o devo imparare qualcosa di nuovo, mi trovo bene con Grok, ma anche gli altri (ChatGPT, Perplexity, Gemini, etc.) solitamente se la cavano con quesiti non troppo complessi (nei casi più articolati chiedo a più bot e poi scelgo quello che mi convince di più; per farlo avevo uno script, ma dovrei aggiornarlo perché hanno cambiato le pagine di accesso). L'importante, come hai già notato, è avere un po' di pazienza e confezionare dei prompt ben ragionati, in modo che l'AI vada dritta al punto.
-
ctsvevo
- Gran Maestro Revisore

- Messaggi: 749
- Iscritto il: sab lug 24, 2021 9:19 pm
- Has thanked: 8 times
- Been thanked: 18 times
Re: ... e le chiamano AI
Prova Mouse Jiggler.crazy.cat ha scritto: sab mar 14, 2026 7:54 am In questi giorni stavo cercando degli script che simulano l'attività di mouse o tastiera per impedire che il computer vada in standby.
Se non lo trovi online, dovrei avercelo io da qualche parte su uno dei miei PC.
https://forum.mozillaitalia.org/index.php?topic=79685.0
-
crazy.cat
- Amministratore

- Messaggi: 13522
- Iscritto il: mer mag 01, 2013 4:02 pm
- Località: Noventa Padovana
- Has thanked: 7 times
- Been thanked: 81 times
Re: ... e le chiamano AI
Oltre a mettere alla prova chatgpt
-
crazy.cat
- Amministratore

- Messaggi: 13522
- Iscritto il: mer mag 01, 2013 4:02 pm
- Località: Noventa Padovana
- Has thanked: 7 times
- Been thanked: 81 times
Re: ... e le chiamano AI
$TopDir = "d:\telelavoro"
$ReportPath = "d:\report_cartelle.csv"
# 1. Recupero lista directory
$DirList = Get-ChildItem -LiteralPath $TopDir -Directory -Recurse -Force
# 2. Elaborazione dati cartelle
$Results = foreach ($DL_Item in $DirList) {
$FileList = Get-ChildItem -LiteralPath $DL_Item.FullName -File -Force -Recurse
$TotalBytes = ($FileList | Measure-Object -Property Length -Sum).Sum
if ($null -eq $TotalBytes) { $TotalBytes = 0 }
[PSCustomObject]@{
Cartella = $DL_Item.FullName
File_Count = $FileList.Count
Size_KB = [math]::Round($TotalBytes / 1KB, 2)
Size_MB = [math]::Round($TotalBytes / 1MB, 2)
Size_GB = [math]::Round($TotalBytes / 1GB, 4)
}
}
# 3. Calcolo del TOTALE complessivo
$GrandTotalBytes = ($Results | Measure-Object -Property Size_MB -Sum).Sum * 1MB
$TotalRow = [PSCustomObject]@{
Cartella = "--- TOTALE COMPLESSIVO ---"
File_Count = ($Results | Measure-Object -Property File_Count -Sum).Sum
Size_KB = [math]::Round($GrandTotalBytes / 1KB, 2)
Size_MB = [math]::Round($GrandTotalBytes / 1MB, 2)
Size_GB = [math]::Round($GrandTotalBytes / 1GB, 4)
}
# 4. Unione risultati e riga totale
$FinalOutput = $Results | Sort-Object -Property Size_MB -Descending
$FinalOutput += $TotalRow
# 5. Esportazione per Excel
# Usiamo il delimitatore punto e virgola ';' per l'apertura automatica corretta in Excel (regionale IT)
$FinalOutput | Export-Csv -Path $ReportPath -NoTypeInformation -Delimiter ";" -Encoding UTF8
Write-Host "Report generato con successo in: $ReportPath" -ForegroundColor Green
$FinalOutput | Format-Table -AutoSize
$ReportPath = "d:\report_cartelle.csv"
# 1. Recupero lista directory
$DirList = Get-ChildItem -LiteralPath $TopDir -Directory -Recurse -Force
# 2. Elaborazione dati cartelle
$Results = foreach ($DL_Item in $DirList) {
$FileList = Get-ChildItem -LiteralPath $DL_Item.FullName -File -Force -Recurse
$TotalBytes = ($FileList | Measure-Object -Property Length -Sum).Sum
if ($null -eq $TotalBytes) { $TotalBytes = 0 }
[PSCustomObject]@{
Cartella = $DL_Item.FullName
File_Count = $FileList.Count
Size_KB = [math]::Round($TotalBytes / 1KB, 2)
Size_MB = [math]::Round($TotalBytes / 1MB, 2)
Size_GB = [math]::Round($TotalBytes / 1GB, 4)
}
}
# 3. Calcolo del TOTALE complessivo
$GrandTotalBytes = ($Results | Measure-Object -Property Size_MB -Sum).Sum * 1MB
$TotalRow = [PSCustomObject]@{
Cartella = "--- TOTALE COMPLESSIVO ---"
File_Count = ($Results | Measure-Object -Property File_Count -Sum).Sum
Size_KB = [math]::Round($GrandTotalBytes / 1KB, 2)
Size_MB = [math]::Round($GrandTotalBytes / 1MB, 2)
Size_GB = [math]::Round($GrandTotalBytes / 1GB, 4)
}
# 4. Unione risultati e riga totale
$FinalOutput = $Results | Sort-Object -Property Size_MB -Descending
$FinalOutput += $TotalRow
# 5. Esportazione per Excel
# Usiamo il delimitatore punto e virgola ';' per l'apertura automatica corretta in Excel (regionale IT)
$FinalOutput | Export-Csv -Path $ReportPath -NoTypeInformation -Delimiter ";" -Encoding UTF8
Write-Host "Report generato con successo in: $ReportPath" -ForegroundColor Green
$FinalOutput | Format-Table -AutoSize
$TopDir = "d:\telelavoro"
$ReportPath = "d:\report_cartelle.csv"
# 1. Recupero lista directory
$DirList = Get-ChildItem -LiteralPath $TopDir -Directory -Recurse -Force
# 2. Elaborazione dati cartelle
$Results = foreach ($DL_Item in $DirList) {
# RIMOSSO -Recurse qui: contiamo solo i file specifici di questa cartella
$FileList = Get-ChildItem -LiteralPath $DL_Item.FullName -File -Force
$TotalBytes = ($FileList | Measure-Object -Property Length -Sum).Sum
if ($null -eq $TotalBytes) { $TotalBytes = 0 }
[PSCustomObject]@{
Cartella = $DL_Item.FullName
File_Count = $FileList.Count
Size_Bytes = $TotalBytes # Conserviamo il valore puro per calcoli precisi
Size_KB = [math]::Round($TotalBytes / 1KB, 2)
Size_MB = [math]::Round($TotalBytes / 1MB, 2)
Size_GB = [math]::Round($TotalBytes / 1GB, 4)
}
}
# 3. Calcolo del TOTALE complessivo (sommiamo i Byte originali per evitare errori di arrotondamento)
$GrandTotalBytes = ($Results | Measure-Object -Property Size_Bytes -Sum).Sum
$TotalRow = [PSCustomObject]@{
Cartella = "--- TOTALE COMPLESSIVO ---"
File_Count = ($Results | Measure-Object -Property File_Count -Sum).Sum
Size_Bytes = $GrandTotalBytes
Size_KB = [math]::Round($GrandTotalBytes / 1KB, 2)
Size_MB = [math]::Round($GrandTotalBytes / 1MB, 2)
Size_GB = [math]::Round($GrandTotalBytes / 1GB, 4)
}
# 4. Esportazione
$FinalOutput = $Results | Sort-Object -Property Size_Bytes -Descending
$FinalOutput += $TotalRow
$FinalOutput | Export-Csv -Path $ReportPath -NoTypeInformation -Delimiter ";" -Encoding UTF8
Write-Host "Report generato: $ReportPath" -ForegroundColor Green
$ReportPath = "d:\report_cartelle.csv"
# 1. Recupero lista directory
$DirList = Get-ChildItem -LiteralPath $TopDir -Directory -Recurse -Force
# 2. Elaborazione dati cartelle
$Results = foreach ($DL_Item in $DirList) {
# RIMOSSO -Recurse qui: contiamo solo i file specifici di questa cartella
$FileList = Get-ChildItem -LiteralPath $DL_Item.FullName -File -Force
$TotalBytes = ($FileList | Measure-Object -Property Length -Sum).Sum
if ($null -eq $TotalBytes) { $TotalBytes = 0 }
[PSCustomObject]@{
Cartella = $DL_Item.FullName
File_Count = $FileList.Count
Size_Bytes = $TotalBytes # Conserviamo il valore puro per calcoli precisi
Size_KB = [math]::Round($TotalBytes / 1KB, 2)
Size_MB = [math]::Round($TotalBytes / 1MB, 2)
Size_GB = [math]::Round($TotalBytes / 1GB, 4)
}
}
# 3. Calcolo del TOTALE complessivo (sommiamo i Byte originali per evitare errori di arrotondamento)
$GrandTotalBytes = ($Results | Measure-Object -Property Size_Bytes -Sum).Sum
$TotalRow = [PSCustomObject]@{
Cartella = "--- TOTALE COMPLESSIVO ---"
File_Count = ($Results | Measure-Object -Property File_Count -Sum).Sum
Size_Bytes = $GrandTotalBytes
Size_KB = [math]::Round($GrandTotalBytes / 1KB, 2)
Size_MB = [math]::Round($GrandTotalBytes / 1MB, 2)
Size_GB = [math]::Round($GrandTotalBytes / 1GB, 4)
}
# 4. Esportazione
$FinalOutput = $Results | Sort-Object -Property Size_Bytes -Descending
$FinalOutput += $TotalRow
$FinalOutput | Export-Csv -Path $ReportPath -NoTypeInformation -Delimiter ";" -Encoding UTF8
Write-Host "Report generato: $ReportPath" -ForegroundColor Green
-
crazy.cat
- Amministratore

- Messaggi: 13522
- Iscritto il: mer mag 01, 2013 4:02 pm
- Località: Noventa Padovana
- Has thanked: 7 times
- Been thanked: 81 times
Re: ... e le chiamano AI
Write-Host "====================================="
Write-Host "DIAGNOSTICA RAPIDA PC LENTO"
Write-Host "====================================="
$Report = "c:\Diagnosi_PC.txt"
"===== INFORMAZIONI SISTEMA =====" | Out-File $Report
Get-ComputerInfo | Select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer | Out-File $Report -Append
"`n===== ULTIMI 10 AGGIORNAMENTI WINDOWS (COMPLETO) =====" | Out-File $Report -Append
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher()
$HistoryCount = $Searcher.GetTotalHistoryCount()
if ($HistoryCount -gt 0) {
# Estrae la cronologia completa e prende i 10 più recenti
$Searcher.QueryHistory(0, $HistoryCount) |
Select-Object Title, Date,
@{Name="Result"; Expression={
switch($_.ResultCode) {
2 {"Successo"}
3 {"In corso"}
4 {"Fallito"}
5 {"Annullato"}
default {"Sconosciuto"}
}
}} |
Sort-Object Date -Descending |
Select-Object -First 20 | Format-Table -AutoSize | Out-File $Report -Append
} else {
"Nessuna cronologia aggiornamenti trovata." | Out-File $Report -Append
}
"`n===== PROGRAMMI INSTALLATI =====" | Out-File $Report -Append
$UninstallKeys = @(
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"
)
Get-ItemProperty $UninstallKeys |
Where-Object { $_.DisplayName -ne $null } |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Sort-Object DisplayName | Format-Table -AutoSize | Out-File $Report -Append
"`n===== CPU UTILIZZO =====" | Out-File $Report -Append
Get-Counter '\Processor(_Total)\% Processor Time' |
Select -ExpandProperty CounterSamples |
Select InstanceName, CookedValue | Out-File $Report -Append
"`n===== PROCESSI CHE USANO PIU CPU =====" | Out-File $Report -Append
Get-Process | Sort CPU -Descending | Select -First 10 Name,CPU,Id | Format-Table -AutoSize | Out-File $Report -Append
"`n===== PROCESSI CHE USANO PIU RAM =====" | Out-File $Report -Append
Get-Process | Sort WorkingSet -Descending | Select -First 10 Name,@{Name="RAM_MB";Expression={[math]::round($_.WorkingSet/1MB)}} | Format-Table -AutoSize | Out-File $Report -Append
"`n===== UTILIZZO RAM =====" | Out-File $Report -Append
Get-CimInstance Win32_OperatingSystem |
Select @{Name="RAM_totale_MB";Expression={[math]::round($_.TotalVisibleMemorySize/1024)}},
@{Name="RAM_libera_MB";Expression={[math]::round($_.FreePhysicalMemory/1024)}} | Out-File $Report -Append
"`n===== STATO DISCHI =====" | Out-File $Report -Append
Get-PhysicalDisk | Select FriendlyName, MediaType, HealthStatus, OperationalStatus | Format-Table -AutoSize | Out-File $Report -Append
"`n===== SPAZIO DISCO =====" | Out-File $Report -Append
Get-PSDrive -PSProvider FileSystem |
Select Name,@{Name="Free_GB";Expression={[math]::round($_.Free/1GB,2)}},
@{Name="Used_GB";Expression={[math]::round($_.Used/1GB,2)}} | Out-File $Report -Append
"`n===== PROGRAMMI IN AVVIO AUTOMATICO =====" | Out-File $Report -Append
Get-CimInstance Win32_StartupCommand | Select Name, Command, Location | Format-Table -AutoSize -Wrap | Out-File $Report -Append
"`n===== SERVIZI BLOCCATI O NON AVVIATI =====" | Out-File $Report -Append
Get-Service | Where Status -ne Running |
Select Name,Status,StartType | Out-File $Report -Append
"`n===== ERRORI DI SISTEMA ULTIME 24 ORE =====" | Out-File $Report -Append
Get-WinEvent -FilterHashtable @{
LogName='System'
Level=2
StartTime=(Get-Date).AddDays(-1)
} -ErrorAction SilentlyContinue | Select TimeCreated,Id,ProviderName,Message -First 20 | Format-Table -AutoSize -Wrap | Out-File $Report -Append
Write-Host ""
Write-Host "Diagnosi completata."
Write-Host "Report salvato in: $Report"
Write-Host "DIAGNOSTICA RAPIDA PC LENTO"
Write-Host "====================================="
$Report = "c:\Diagnosi_PC.txt"
"===== INFORMAZIONI SISTEMA =====" | Out-File $Report
Get-ComputerInfo | Select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer | Out-File $Report -Append
"`n===== ULTIMI 10 AGGIORNAMENTI WINDOWS (COMPLETO) =====" | Out-File $Report -Append
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher()
$HistoryCount = $Searcher.GetTotalHistoryCount()
if ($HistoryCount -gt 0) {
# Estrae la cronologia completa e prende i 10 più recenti
$Searcher.QueryHistory(0, $HistoryCount) |
Select-Object Title, Date,
@{Name="Result"; Expression={
switch($_.ResultCode) {
2 {"Successo"}
3 {"In corso"}
4 {"Fallito"}
5 {"Annullato"}
default {"Sconosciuto"}
}
}} |
Sort-Object Date -Descending |
Select-Object -First 20 | Format-Table -AutoSize | Out-File $Report -Append
} else {
"Nessuna cronologia aggiornamenti trovata." | Out-File $Report -Append
}
"`n===== PROGRAMMI INSTALLATI =====" | Out-File $Report -Append
$UninstallKeys = @(
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"
)
Get-ItemProperty $UninstallKeys |
Where-Object { $_.DisplayName -ne $null } |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Sort-Object DisplayName | Format-Table -AutoSize | Out-File $Report -Append
"`n===== CPU UTILIZZO =====" | Out-File $Report -Append
Get-Counter '\Processor(_Total)\% Processor Time' |
Select -ExpandProperty CounterSamples |
Select InstanceName, CookedValue | Out-File $Report -Append
"`n===== PROCESSI CHE USANO PIU CPU =====" | Out-File $Report -Append
Get-Process | Sort CPU -Descending | Select -First 10 Name,CPU,Id | Format-Table -AutoSize | Out-File $Report -Append
"`n===== PROCESSI CHE USANO PIU RAM =====" | Out-File $Report -Append
Get-Process | Sort WorkingSet -Descending | Select -First 10 Name,@{Name="RAM_MB";Expression={[math]::round($_.WorkingSet/1MB)}} | Format-Table -AutoSize | Out-File $Report -Append
"`n===== UTILIZZO RAM =====" | Out-File $Report -Append
Get-CimInstance Win32_OperatingSystem |
Select @{Name="RAM_totale_MB";Expression={[math]::round($_.TotalVisibleMemorySize/1024)}},
@{Name="RAM_libera_MB";Expression={[math]::round($_.FreePhysicalMemory/1024)}} | Out-File $Report -Append
"`n===== STATO DISCHI =====" | Out-File $Report -Append
Get-PhysicalDisk | Select FriendlyName, MediaType, HealthStatus, OperationalStatus | Format-Table -AutoSize | Out-File $Report -Append
"`n===== SPAZIO DISCO =====" | Out-File $Report -Append
Get-PSDrive -PSProvider FileSystem |
Select Name,@{Name="Free_GB";Expression={[math]::round($_.Free/1GB,2)}},
@{Name="Used_GB";Expression={[math]::round($_.Used/1GB,2)}} | Out-File $Report -Append
"`n===== PROGRAMMI IN AVVIO AUTOMATICO =====" | Out-File $Report -Append
Get-CimInstance Win32_StartupCommand | Select Name, Command, Location | Format-Table -AutoSize -Wrap | Out-File $Report -Append
"`n===== SERVIZI BLOCCATI O NON AVVIATI =====" | Out-File $Report -Append
Get-Service | Where Status -ne Running |
Select Name,Status,StartType | Out-File $Report -Append
"`n===== ERRORI DI SISTEMA ULTIME 24 ORE =====" | Out-File $Report -Append
Get-WinEvent -FilterHashtable @{
LogName='System'
Level=2
StartTime=(Get-Date).AddDays(-1)
} -ErrorAction SilentlyContinue | Select TimeCreated,Id,ProviderName,Message -First 20 | Format-Table -AutoSize -Wrap | Out-File $Report -Append
Write-Host ""
Write-Host "Diagnosi completata."
Write-Host "Report salvato in: $Report"