Allegati assenti/illeggibili nelle mail inoltrate da Outlook

Problema: quando si inoltra una mail (forward) utilizzando Microsoft Outlook ad un destinatario che utilizza un altro client di posta, es. Outlook Express o Thunderbird, gli eventuali allegati risultano essere assenti oppure appaiono non apribili con alcun tipo di programma.

Dettagli: il problema è causato da Outlook che invia il messaggio nel formato RTF che è leggibile correttamente solo da destinatari dello stesso programma. Negli altri client, tutti gli allegati compaiono in un unico file con nome “winmail.dat” e tipo MIME “application/ms-tnef”. Il problema si presenta anche se nelle opzioni di Outlook è stato selezionato il formato HTML o testo, quando si utilizza la funzione di inoltro (forward) di un messaggio ricevuto da un altro utente Outlook.

Soluzione: per la creazione di nuovi messaggi, è sufficiente selezionare il formato HTML o testo nelle opzioni avanzate di invio posta elettronica (la posizione esatta della selezione varia da versione a versione di Outlook). Per l’inoltro di messaggi ricevuti, è necessario selezionare il destinatario tra i Contatti e specificare che dovrà ricevere posta solo in formato testo.

Outlook RTF Forward

  • Aprire l’elenco dei Contatti
  • Doppio clic sul destinatario desiderato
  • Doppio clic sull’indirizzo di posta elettronica
  • In “Formato Internet”, selezionare “Invia solo testo normale”
  • OK per confermare

Outlook Express: errore 0x800C0133 dopo la ricezione

Problema: in Outlook Express alla fine della ricezione dei messaggi compare l’errore 0x800c0133 e nessun messaggio viene salvato nella cartella Posta in arrivo (che può apparire vuota). Al successivo tentativo vengono riscaricati gli stessi messaggi e ricompare nuovamente la stessa finestra di errore.

Errore 0x800c0133

Dettagli: l’errore compare in quanto la cartella Posta in arrivo ha superato il limite di 2GB.

Soluzione: per ripristinare il corretto funzionamento è necessario creare un nuovo database DBX per la cartella Posta in arrivo.

  1. Accedere alla cartella di archiviazione di Outlook Express. Il percorso è disponibile in Strumenti > Opzioni > Manutenzione > Archivia cartella.
  2. Chiudere Outlook Express
  3. Rinominare il file Posta in arrivo.dbx
  4. Riavviare Outlook Express

Nel caso in cui si volesse recuperare la vecchia posta, controllare se è presente il file Posta in arrivo.bak e se la dimensione è inferiore a 2GB (2048MB – 2097152kB). In caso affermativo, è possibile tentarne il recupero.

  1. Avviare Outlook Express
  2. Creare una cartella Archivio
  3. Chiudere Outlook Express
  4. Accedere alla cartella di archiviazione
  5. Cancellare il file Archivio.dbx
  6. Rinominare il file Posta in arrivo.bak in Archivio.dbx
  7. Riavviare Outlook Express

Seguendo la procedura dovrebbero essere visibili tutti i vecchi messaggi all’interno della cartella Archivio.

Giorno della settimana odierno per gli script batch

Se intendiamo utilizzare una politica di backup basata su script batch pianificati, in cui si vuole recuperare versioni di file fino ad una settimana, risulta indispensabile conoscere che giorno siamo per differenziare il nome della cartella in cui eseguire il salvataggio.

robocopy C:\ D:\backup\lun /MIR

Purtroppo a partire da Windows XP, il comando date /T oppure la variabile di ambiente %date% di default, nella versione italiana, restituiscono la data nel formato gg/mm/aaaa (06/10/2008) al posto del precedente ggg gg/mm/aaaa (lun 06/10/2008), che conteneva il giorno della settimana.

Per ripristinare il vecchio comportamento, è sufficiente modificare il formato della data breve dalle Opzioni internazionali del pannello di controllo.

Formato data breve in Windows XP

Su Windows Vista la sintassi del formato è cambiata in ddd dd/mm/yyyy ed è stata leggermente modificata la finestra delle opzioni. In entrambi i casi, si andrà a modificare una chiave di registro del profilo utente.

HKEY_CURRENT_USER\Control Panel\International\sShortDate

Una volta effettuata la modifica, diventa semplice nel file batch ottenere una nuova variabile ed eseguire il backup.

set weekday=%date:~0,3%
robocopy C:\ D:\backup\%weekday% /MIR

In alternativa, se non fosse possibile modificare il valore tramite l’interfaccia utente, è possibile utilizzare la linea di comando.

reg add "HKCU\Control Panel\International" /f /v sShortDate /t REG_SZ /d "ggg gg/mm/aaaa"

Come ultima opzione, se per qualunque motivo non fosse possibile modificare il formato della data breve, è possibile avviare una sessione DOS in modalità legacy, ma è necessario un codice leggermente più complesso per estrapolare l’informazione che ci interessa.

@echo off
echo.|command /C date|find "data corrente" > "%tmp%\weekday.tmp"
for /f "tokens=5" %%a in ('type "%tmp%\weekday.tmp"') do set weekday=%%a
del "%tmp%\weekday.tmp"

Attenzione: l’esempio è scritto per Windows XP versione italiana. Per altre versioni o lingue è necessario adattare il codice.

Data/ora in formato ISO 8601 per gli script batch

In uno script batch (con estensione BAT o CMD) a volte può essere necessario conoscere la data ed ora correnti. Le variabili di ambiente %date% e %time% contengono queste informazioni, ma in alcuni casi non possono essere utilizzate direttamente. Ad esempio, utilizzando xcopy e volendo ottenere un file di log di tutto quello riportato sullo schermo, si ottiene un errore.

xcopy C:\dati C:\backup /E /Y /I /H /O > C:\log\%date%.log
Impossibile trovare il percorso specificato

Questo perché si tenta di creare il file C:\log\03/10/2008.log, che contiene il carattere / non valido per i nomi di file. La soluzione ideale è di usare il formato ISO 8601 aaaa-mm-gg (es. 2008-10-03), che oltre a poter essere utilizzato come nome di file, risulta comodo per tenere in ordine cronologico i file. Per ottenere questo risultato possiamo creare una nuova variabile estrapolando le informazioni dalla data corrente, quindi successivamente la usiamo a piacere all’interno dello script.

set today=%date:~6,4%-%date:~3,2%-%date:~0,2%
xcopy C:\dati C:\backup /E /Y /I /H /O > C:\log\%today%.log

Attenzione: nell’esempio viene estrapolata la data ISO a partire dalla data di sistema, che viene proposta di default, nelle versioni in italiano, nel formato gg/mm/aaaa. In un sistema con altra lingua, potrebbe essere usato un formato differente ed è necessario adattare di conseguenza il codice.

L’operazione analoga possiamo eseguirla anche con la variabile %time%, per ignorare i millisecondi non previsti dallo standard ISO.

set datetime=%date:~6,4%-%date:~3,2%-%date:~0,2%T%time:~0,2%%time:~3,2%%time:~6,2%
xcopy C:\dati C:\backup /E /Y /I /H /O > C:\log\%datetime%.log

Aggiungere nel tema di WordPress un link per creare articoli e pagine

Come per il famoso link “Edit this”, tradotto normalmente in “Modifica”, può essere comodo inserire nel proprio tema un link per scrivere un nuovo articolo o una nuova pagina.

Per quanto riguarda gli articoli la soluzione è semplice, e si risolve con qualche linea di codice.

if(current_user_can('publish_posts'))
  echo '<a href="'.get_bloginfo('wpurl').'/wp-admin/post-new.php">'.__('Write article').'</a>';

Per quanto riguarda invece le pagine, può essere interessante utilizzare un codice più complesso, per aggiungere una nuova pagina che abbia la corrente come pagina madre. Per fare ciò è necessario creare una pagina vuota utilizzando la funzione wp_insert_post, passando il parametro post_parent che deve corrispondere all’ID della pagina corrente, quindi redirigere l’utente al back-end.

if(current_user_can('publish_pages'))
{
  $post_parent = $post->ID;
  if($_GET['publish_subpage'])
  {
    $newpost = array(
      'post_content' => '<p>&nbsp;</p>',
      'post_parent' => $post_parent,
      'post_status' => 'draft',
      'post_title' => '',
      'post_type' => 'page'
    );
    $newpost_ID = wp_insert_post($newpost);
    if($newpost_ID)
      header('Location: '.get_bloginfo('wpurl').'/wp-admin/page.php?action=edit&post='.$newpost_ID);
    else header('Location: '.get_permalink($post->ID));
  }
  else
  {
    $publish_link = get_permalink($post->ID);
    if(strpos('?', $publish_link))
      echo '<a href="'.$publish_link.'&amp;publish_subpage=yes">'.__('Write page').'</a>';
    else echo '<a href="'.$publish_link.'?publish_subpage=yes">'.__('Write page').'</a>';
  }
}

Questa soluzione prevede la creazione di un link che richiama la stessa pagina con in aggiunta il parametro publish_subpage=yes.

Errore 1609 – NETWORK SERVICE is not a valid user or group

Problema: durante l’installazione di un applicativo in lingua inglese su sistema operativo in italiano, la procedura si interrompe con un messaggio di errore.

NETWORK SERVICE is not a valid user or group

Error 1609. An error has occoured when applying security settings.
NETWORK SERVICE is not a valid user or group. This could be
a problem with the package, o a problem connecting to a
domain controller on the network. Check your network
connection and click Retry, or Cancel to end the install.

Dettagli: nelle installazioni di Windows in lingua italiana l’utente built-in NETWORK SERVICE è stato rinominato in SERVIZIO DI RETE. Tutti i programmi di installazione che fanno riferimento all’utente NETWORK SERVICE sono destinati a generare un errore e/o non applicare correttamente tutti i diritti necessari all’esecuzione dell’applicazione.

Soluzione: è sufficiente creare un nuovo gruppo locale denominato NETWORK SERVICE ed inserire come unico membro l’utente SERVIZIO DI RETE.

Nuovo gruppo NETWORK SERVICE
Nuovo gruppo NETWORK SERVICE

Così facendo l’installer dovrebbe procedere senza ulteriori errori e le impostazioni di sicurezza applicate per NETWORK SERVICE saranno valide anche per SERVIZIO DI RETE.

Bios recovery su Acer Aspire 7720

Problema: in alcuni casi l’aggiornamento del BIOS nel portatile Acer Aspire serie 7720 eseguito da Windows Vista può non andare a buon fine, con un messaggio di errore VERIFY FAILED appena dopo l’avvio della procedura e computer bloccato. Dopo il reset il portatile non si riaccende.

Soluzione: è necessario effettuare il ripristino del BIOS tramite la procedura di emergenza.

  1. Scollegare il portatile dall’alimentatore esterno e rimuovere la batteria
  2. Scaricare il BIOS dal sito di assistenza Acer
  3. Estrarre dal zip il file con estensione FD e rinominare come ICL50HW.fd , quindi salvare all’interno di un floppy da 3.5″ oppure masterizzare su CD-ROM. Non è necessario inserire ulteriori file o rendere avviabili i supporti.
  4. Collegare un floppy drive USB oppure inserire il CD nel lettore aiutandosi con una graffetta
  5. Premere il tasto Fn+Esc e mantenerli premuti
  6. Ricollegare l’alimentatore esterno
  7. Premere il tasto di accensione
  8. Rilasciare i tasti Fn+Esc

Il portatile dovrebbe avviarsi e rimanere con lo schermo nero, quindi iniziare a leggere dal supporto. A procedura ultimata (circa 5 minuti) si spegnerà automaticamente.

Abilitare AHCI/RAID nei chipset Intel evitando l’errore 0x0000007B in Windows XP

Problema: abilitando nel BIOS le funzioni AHCI oppure RAID del controller Serial ATA integrato nelle schede madri dotate dei nuovi chipset Intel, si ottiene un errore STOP 0x0000007B (INACCESSIBLE_BOOT_DEVICE) al successivo avvio di Windows XP. Ripristinando la modalità compatibile IDE il computer torna ad avviarsi correttamente.

Dettagli: l’errore 0x7B compare in quanto Windows non contiene i driver per i controller SATA in modalità AHCI/RAID – di conseguenza non è più in grado di accedere ai file dell’installazione, fondamentali per l’avvio.

Soluzione: è necessario procedere ad alcuni passaggi per installare i driver Intel necessari. Per eseguire l’operazione sono necessari i diritti amministrativi.

  1. Scaricare dal sito Intel il software Matrix Storage Manager
  2. Estrarre i driver dal file appena scaricato aggiungendo l’opzione -a (es. iata82_cd.exe -a)
  3. Aprire Gestione periferiche in Gestione computer (compmgmt.msc)
  4. Espandere la voce Controller IDE ATA/ATAPI
  5. Avviare la procedura per l’aggiornamento dei driver del controller SATA – il nome riportato varia a seconda della versione del chipset in uso – es. Intel(R) ICH9/DO/DH 4 port Serial ATA Storage Controller 1 – 2920 è relativo al chipset ICH9.
  6. Selezionare l’aggiornamento manuale, quindi specificare il percorso %PROGRAMFILES%\Intel\Intel Matrix Storage Manager\Driver oppure Driver64 per sistemi 64bit. Selezionare la versione AHCI o RAID relativa alla stessa famiglia del chipset attualmente in uso. È normale che compaia una finestra di avvertimento che ne sconsiglia l’installazione in quanto AHCI/RAID non è ancora attivo.
  7. Riavviare il computer
  8. Accedere al BIOS ed attivare la funzione AHCI oppure RAID.
  9. Installare Intel Matrix Storage Manager nel caso si voglia monitorare lo stato dei dischi in modalità RAID.

Soluzioni alternative: è possibile avviare il computer dal CD-ROM di installazione, premere F6 all’inizio del setup e salvare i file della cartella Driver all’interno di un floppy, quindi al momento della richiesta di dove installare Windows, premere R per riparare l’installazione rilevata. Questa soluzione ha lo svantaggio di azzerare gli aggiornamenti installati e reimposta la product-key.

Alcune applicazioni non usano OpenOffice per i documenti RTF

Problema: alcuni applicativi non usano OpenOffice Writer per aprire i file RTF dei report o delle stampe generate dal programma stesso, anche se l’estensione RTF risulta essere associata correttamente ad OpenOffice.

RTF OpenOffice.org

Soluzione: è necessario modificare un valore nel registro di Windows. Per eseguire l’operazione sono necessari i diritti amministrativi.

  • Eseguire %windir%\regedit.exe
  • Navigare alla chiave HKEY_CLASSES_ROOT\.rtf
  • Modificare il valore Predefinito in OpenOffice.org.rtf

Dettagli: questo problema capita frequentemente installando un programma che associa l’estensione RTF a sé, per poi successivamente modificare l’associazione utilizzando “Opzioni cartella” del pannello di controllo oppure il menu contestuale “Apri con…”. Così facendo alcuni valori nel registro non sono modificati ed alcuni programmi potrebbero continuare ad utilizzare la precedente associazione.

Icona di Internet Explorer 7 mancante nel menu Start

Problema: dopo l’aggiornamento ad Internet Explorer 7, nel menu Start di Windows XP l’icona relativa al collegamento ad Internet Explorer 7 risulta mancante.

Icona IE7 mancante

Soluzione: è necessario modificare un valore nel registro di Windows per ripristinare la corretta icona da visualizzare nel menu Start. Per eseguire l’operazione sono necessari i diritti amministrativi.

  • Eseguire %windir%\regedit.exe
  • Navigare alla chiave HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\DefaultIcon
  • Modificare il valore di default in %ProgramFiles%\Internet Explorer\iexplore.exe,-32528
  • Riavviare il computer