Impossibile salvare o aprire allegati in Outlook

Nel corso delle mie peregrinazioni sulle macchine dei vari clienti, mi è successo un fatto strano.
Il tentativo di aprire o di salvare i file word allegati automaticamente alle mail di una banca falliva con un messaggio simile a Impossibile salvare il documento. Verificare di avere i corretti permessi sulla cartella di destinazione.

La soluzione è descritta in questo post.

Il problema è dovuto al fatto che Outlook per aprire o salvare un file ne crea una copia in una cartella, identificata dalla chiave di registro

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security\OutlookSecureTempFolder

che non viene mai svuotata. Quando arrivano più di cento mail contenenti un allegato che possiede sempre lo stesso nome (come in questo caso quello generato automaticamente dalla banca), Outlook non riesce più a salvare il file, generando il suddetto errore.

Una soluzione consiste nello svuotare la cartella temporanea, con un bat simile a questo:

del /q "%userprofile%\Impostazioni locali\Temporary Internet Files\OLKXXX\*.*"

dove occorre sostiuire OLKXXX con il valore presente nella citata voce di registro.

C'è anche un articolo della KB Microsoft al riguardo.

Problema “No DNS servers have the DNS records for this DC registered”

Se l'ultility NETDIAG in Windows Server 2003 mostra il seguente messaggio "No DNS servers have the DNS records for this DC registered", il problema può essere risolto tramite il comando

netdiag /fix

Tramite questa opzione si verificherà che tutti i record SRV (servizi) siano registrati correttamente nel server DNS, cercando eventualmente di registrare quelli mancanti.

A tal proposito esiste un articolo della KB Microsoft.

Impostazioni riservatezza in DB2 LUW

Quanto segue si riferisce a IBM DB2 per Linux Unix Windows (LUW)


1) La ricerca del gruppo dell’utente

Le impostazioni di default di DB2 inducono il database a ricercare il gruppo di appartenenza dell’utente sulla macchina sulla quale il profilo è stato definito. Pertanto il gruppo dei profili del dominio sarà verificato sul domain controller, mentre per i profili locali verranno ricercati i gruppi locali.
Per modificare questo comportamento è possibile utilizzare il comando:

db2set db2_grp_lookup=local

(Nota: per verificare la configurazione utilizzare il comando db2set)


2) Il gruppo degli amministratori

DB2 assegna il privilegio di amministratori a tutti gli utenti che appartengono al gruppo “Administrators” della macchina su cui il profilo è definito (o della macchina su cui risiede il DB2 se la variabile db2_grp_lookup è impostata a local).
Per modificare il nome del gruppo degli amministratori è sufficiente utilizzare la sequenza di comandi:

db2stop
db2 update dbm cfg using sysadm_group NOMEGRP
db2start

ATTENZIONE: i nomi dei gruppi devono essere di al massimo 8 caratteri

(Nota: per verificare la configurazione usare il comando get dbm cfg)


3) Come procedere

Creare un gruppo DB2USERS sulla macchina su cui gira il server DB2 ed aggiungervi gli utenti da abilitare
Se la macchina non è un controllore di dominio procedere con il comando al passo 1) (db2set db2_grp_lookup=local)
Procedere con i comandi al passo 2) (db2 update dbm cfg using sysadm_group DB2USERS)

Le posizioni più interessanti della politica italiana

Impossibile effettuare “Salva con nome” di un documento office 2007 su cartella di rete

Sui computer con Office 2007 ed antivirus eTrust, il comando "Salva con nome" di un documento su una cartella di rete fallisce con il messaggio "Il percorso di rete non può essere trovato".

Per risolvere il problema occorre disabilitare la scansione real-time dei dischi di rete da parte di eTrust, come da figura.

Disabilitare protezione rete di eTrust antivirus

In alternativa, aggiungere una chiave nel registro, creandola se non presente:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Csc\Parameters con parametro FormatDatabase (DWORD)

poi settare il valore di FormatDatabase a 1.

Linux ed AS400: link utili

Ho trovato un utile blog su Ubuntu, nel quale è possibile leggere diversi articoli interessanti relativi alla connessione ad AS400 da sistemi Linux. Ecco alcuni link:

Inserire record solo se non presenti tramite un solo prepared statement

In un bellissimo articolo su IT Jungle ho trovato un interessante trucco. Il problema è quello di inserire i dati in una tabella, solo nel caso non esista già una chiave uguale, utilizzando un solo prepared statement. Ecco la soluzione ;-)

 
INSERT INTO myTable
(KEY, code, name)
SELECT Cast(? AS Int),
       Cast(? AS VarChar(30)),
       Cast(? AS Char(10))
  FROM SYSIBM.SysDummy1
 WHERE NOT EXISTS
    (SELECT 1
       FROM myTable
      WHERE KEY=?)

con il relativo codice Java che ne fa uso:

 
Connection conn=DriverManager.getConnection("jdbc:as400://myas400;naming=sql","user","pwd");
String sql="Insert Into myLib.myTable (key, code, name) " +
  "Select Cast(? As Int)," +
  "       Cast(? As VarChar(30))," +
  "       Cast(? As Char(10))" +
  "  From SysIBM.SysDummy1 " +
  " Where Not Exists " +
  " (Select * " +
  "    From myLib.myTable " +
  "   Where key=?)";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setInt(1, 3);                // Column 1
ps.setString(2, "Test It");   // Column 2
ps.setFloat(3,"Fun");         // Column 3
ps.setInt(4, 3);               // Where Clause
ps.execute();                  // Run the statement
ps.close();
conn.close();

Lentezza nell’apertura dei file di Microsoft Word

Una delle ragioni della lentezza nell'apertura dei file di word può essere data dal mancato reperimento del modello associato al documento, in modo particolare quando questo è un modello di gruppo. Si veda ad esempio questo articolo.

Se il modello non è raggiungibile, ad esempio perché il server su cui risiedeva è stato rinominato oppure perché il file è stato spedito ad un utente esterno all'azienda, microsoft Word attende a lungo prima di aprire il documento.

Per ovviare a questo problema occorre sganciare il documento dal suo modello. A tale scopo è possibile utilizzare questa semplice macro:

 
Sub PulisciModello()
WordBasic.FileTemplates Template:="", LinkStyles:=1
 
WordBasic.FileSaveAs Name:=WordBasic.[FileName$](), Format:=1
End Sub
 

Per vedere il nome del modello associato al documento, si utilizzi il menù File - Proprietà, verificando l'informazione in fondo alla linguetta Riepilogo

Quanta RAM è installata su un AS400 - System i

Per verificare la quantità di memoria RAM installata su AS400, andare al menù HARDWARE con il comando
GO HARDWARE
quindi utilizzare la chiave

4. Gestione delle risorse del processore

Il che equivale al comando

WRKHDWRSC *PRC

La RAM è rappresentata dalle ultime righe, simili a

MS01 30D2 Operativo Scheda memoria princi
MS02 30D2 Operativo Scheda memoria princi
MS03 30D2 Operativo Scheda memoria princi
MS04 30D2 Operativo Scheda memoria princi

L'opzione 7 a fianco di ogni riga mostra la dimensione del modulo di memoria installato.

Novità V6R1: indici SQL derivati

Una dei piccoli ma significativi miglioramenti del rilascio V6R1 di OS400 (IBM i), è la possibilità di creare indici non solo su campi di database, ma anche sul risultato di operazioni. Tali indici possono essere sfruttati sia dal motore di ottimizzazione (in particolare dal nuovo SQE, ma in parte anche da CQE) per migliorere le prestazioni delle query.
Vediamo acluni esempi.

 
CREATE INDEX TOT_TEMPI ON Lavorazioni (TLavoro + TAttrezzaggio)
 
CREATE INDEX NomeCogn ON Dipendenti (CONCAT(CONCAT(Nome,’ ‘), Cognome))
 

Il vantaggio maggiore si può però ottenere nel rendere le ricerche case-insensitive:

 
SELECT * FROM Articoli
  WHERE UPPER(Descrizione) = ‘TAVOLO’
 
CREATE INDEX DescrUpp ON Articoli(UPPER(Descrizione))