Opzioni internazionali e Microsoft Access

Vi è mai capitato di disporre di un database access corredato di maschere ed affini che, ad ogni evento, se ne esce con un errore simile a:

Error communicating with the OLE server or ActiveX Control

Error-Message

o, nella versione italiana:

“Errore di comunicazione con il server OLE o con il controllo ActiveX” ?

E, ovviamente, lo stesso database funziona perfettamente su altri 10 pc?

[more]

Bene! Prima di perdere 2 ore in trucchi e barbatrucchi controllate quale è la lingua impostata nelle Opzioni internazionali del pc e avete risolto il vostro problema Angry

Nel mio caso, in un pc con Vista, ha trovato questo……..

 

image

Resta da capire, a questo punto, chi ha deciso di imparare l’ucraino……..

Windows 2008 backup script

clip_image001

Con l’avvento di Vista/Windows2008/Seven tutti noi abbiamo dovuto abbandonare le vecchie abitudini relative al backup per abbracciare una nuova filosofia.
Abbandonato il sempre odiato ma spesso utilizzato NTBackup, ci si è dovuti adattare al Windows Backup di nuova generazione che ci ha riservato, come sgradita sorpresa, la caratteristica di funzionare al pieno delle proprie possibilità solo su dischi collegati direttamente alla macchina da backuppare (!), snobbando completamente le storiche unità nastro e limitando l’utilizzo di share di rete e/o NAS.
Detto che per le unità DAT et simila c’è poco da fare, per i backup su share di rete si può organizzare qualcosa di interessante utilizzando powershell e i cmdlet di WSB.

[more]

Ingredienti

– Un sistema operativo supportante WSB;

– powershell 2.0, preinstallato sulle ultimissime versioni, scaricabile da qui per quelle più vecchie;

Preparazione

Per partire è necessario autorizzare l’esecuzione degli script powershell sulla macchina da backuppare digitando, ad esempio in un prompt dei comandi:

powershell "Set-ExecutionPolicy Unrestricted"

Quindi si procede con l’installazione del servizio per i backup con i relativi cmdlet:

ServerManagerCmd.exe -install Backup –allSubFeatures

Infine lo script powershell che si occupa del backup

####################################################

#  WBBackup.ps1

#  Backup Windows 2008 with WindowsBackup

#  Version 1.0

#  modified: 19/02/2010

#  Autore: Gianluca Ferri

####################################################

# Mapping network share

#(New-Object -ComObject Wscript.Network.MapNetworkDrive)("X:", "\\nas01\Backup", $false, "BackupUser","BackupPassword")

 

# Var

$Customer="Customer"

$DestFolder="\\Nas01\Backup\" # Backup destination

$LogFile="C:\Dati\Logs\Backup\" # Logfile

$LogsFolder="C:\Dati\Logs\Backup\" # Logs archive folder

[Array] $Services="" #"Virtual Machine Management Hyper-V" # Array of services to stop/start

$SMTPServer="SMTP server"

$SMTPServerUser="SMTPUser"

$SMTPServerPass=ConvertTo-SecureString "SMTPPassword" -AsPlainText -Force

 

$MailFrom=$Customer + " Backup <indirizzo mittente>"

$MailTo="indirizzo destinatario"

$MailBcc="indirizzo destinatario"

$Emailsubject="[" + $Customer + "] Report backup " + (get-wmiobject win32_computersystem).name

$DaysOld=15 # Logs retain days

$Culture= New-Object Globalization.CultureInfo "it-IT"

 

$today=Get-Date

$DestFolder=$DestFolder + $today.dayofweek.tostring($Culture)

if (!(Test-Path $DestFolder))

    { 

    # Make folder

    New-Item $DestFolder -type directory

    }

# Stop services

if ($Service.count>0) {foreach ($serv in $Services) {stop-service $serv}}

 

# Start backup

$commandline="wbadmin.exe"

$params={start backup `-backuptarget:$DestFolder `-include:"C:" `-VSSFull -allcritical -quiet}

$LogFile=$LogFile + $Customer + (Get-Date -f yyyyMMdd) + ".log"

$exec = "$commandline $params >$LogFile"

Invoke-Expression $exec

 

# Restart services

if ($Service.count>0) {foreach ($serv in $Services) {start-service $serv}}

 

# Send email report

$Credential=New-Object System.Management.Automation.PSCredential ($SMTPServerUser, $SMTPServerPass)

send-mailmessage -to $MailTo -bcc $MailBcc -from $MailFrom -subject $Emailsubject -Attachments $LogFile -smtpServer $SMTPServer -Credential $Credential

 

# Delete older logs

dir $LogsFolder -recurse | where {!$_.PsIsContainer -AND $_.lastWriteTime -lt (Get-Date).AddDays(-$DaysOld) } | select LastWriteTime,@{n="Path";e={convert-path $_.PSPath}} | Remove-Item -force

Questi i passaggi fondamentali eseguiti dallo script:

  1. ferma i servizi riportati nella variabile $Services;
  2. crea una cartella con il nome del giorno della settimana nel percorso indicato in $DestFolder;
  3. esegue un backup completo (con creazione dell’immagine) del disco C: salvandolo nella cartella $DestFolder\giornodellasettimana;
  4. riavvia i servizi precedentemente arrestati;
  5. invia una mail con allegato il log del backup agli indirizzi indicati in $MailTo e $MailBcc utilizzando il server $SMTPServer;
  6. cancella i file di log più vecchi di $DaysOld.

Per schedularlo è sufficiente riportare, come riga di comando,

powershell.exe -command "& 'percorsodelloscript\WBBackup.ps1'"

Quel che otterrò sarà un backup completo per ogni giorno della settimana, regolarmente sovrascritto la settimana successiva; non è il backup incrementale possibile su un disco collegato direttamente, ma è comunque il massimo ottenibile da WSB.

Conclusioni

Secondo Murphy, il backup è un’operazione che non viene mai eseguita in tempo; compito di ogni amministratore di sistema è convincere Mr. Murphy a prendere una lunghissima vacanza.

clip_image001[6]

Windows 7 e i collegamenti scomparsi

clip_image001Scenario

Pc con Windows 7 in rete aziendale con una miriade di collegamenti a share di rete sul desktop.


Problema

Saltuariamente spariscono alcuni/tutti i collegamenti.

Soluzione

Acquistare una bambolina vudu fatta a sembianza di quel disgraziato di uno sviluppatore Microsoft (ditemi il nome !!!) che si è inventato questa brillante funzionalità ed infilzarla ripetutamente per sfogare la rabbia repressa.

[more]

Riflessione

In pratica è stata introdotta all’interno di Windows 7 una procedura automatica che periodicamente effettua un po’ di pulizia, compresa di eliminazione dal desktop dei collegamenti inattivi qualora siano in numero superiore a 4 (?). Peccato che siano considerati inattivi anche i collegamenti a chiavette USB momentaneamente disconnesse o share di rete non utilizzate da un po’……….

Per eliminare questa deliziosa feature sono possibili due strade:

1) disattivare la manutenzione periodica del sistema operativo; nel pannello di controllo selezionare ‘Trova e risolvi problemi’

image‘Cambia impostazioni’

image

e disattivare ‘Manutenzione computer’

image Unica controindicazione è la disattivazione di tutte le altre attività manutentive.

2) Modificare il file

C:\Windows\diagnostics\scheduled\Maintenance\TS_BrokenShortcuts.ps1

sostituendo nella riga 44 il –gt 4 con un bel –gt 999; così potremo permetterci di avere fino a 999 collegamenti non funzionanti Tongue out.

Da ricordare che, essendo un file di sistema, per modificarlo sarà necessario diventarne proprietari e modificare opportunamente le permission.

Note finali

Potrei suggerire a taluni programmatori Microsoft di cambiare pusher?

(Via ghacks.net)

Windows 7, Run as administrator e le network shares

image

Mi sono trovato nella necessità di far funzionare un software non proprio recentissimo (Autocad LT 2005) su Windows 7; mi direte, aggiorna ad una versione compatibile con il nuovo sistema operativo! In realtà l’utilizzatore possiede anche una nuova e fiammante licenza della versione 2010, che ho puntualmente installato, ma preferisce utilizzare la 2005 Baring teeth!
Comunque installo con qualche forzatura la versione preistorica, ma, come prevedibile, non si avvia neppure…….
Ok, abilitiamo il compatibility mode XP SP3 e riproviamo…..il dinosauro si avvia Party e sembra anche funzionare correttamente ma c’è un problema: per funzionare richiede l’avvio come amministratore e non vede le share di rete.
Il problema è che in modalità ‘run as administrator’ ci si presenta al sistema con una sessione ed un utente diverso da quello loggato, un diverso access token, e quindi no party.

Mamma Microsoft, ovviamente, ha pensato al workaround del caso, anche se ha deciso di non supportarlo (?). Il tutto si riduce ad attivare sul client un chiave di registry che indica al sistema operativo di condividere l’access token tra l’utente loggato e il super administrator che viene scatenato con ‘run as administrator’, consentendo l’accesso di quest’ultimo alle risorse riservate allo user triste.

[more]

Il ‘miracolo’ viene attivato con questa chiave:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001

e la storia è raccontata qui; l’articolo riporta come sistemi operativi quelli della serie Vista ma sembra funzionare egregiamente anche nella serie 7.

Il coltellino svizzero per amministratori di sistema…il ritorno

imageSuperSpeed USB

Dopo aver visto come creare una chiavetta USB contenente un po’ di tools, vediamo come aggiungere qualche cosa di più ostico come il Dart 5.0 (ex ERD Commander) o il BartPE.
Questi tool si presentano sotto forma di CD bootabile che utilizzano, per l’avvio, un ambiente simil Windows XP basato sugli schizzinosi SETUPLDR.BIN e NTDETECT.COM.

La ricetta

[more]

In primis procediamo alla compressione dell’ISO per guadagnare un po’ di spazio sulla chiavetta con

makecab BartPE.iso

Scaricare l’eccellente tool MKIMG descritto qui.

Estrarre il contenuto in una cartella e lanciare la creazione del disco virtuale

mkimg BartPe.dsk

Questi i parametri che ho utilizzato; naturalmente le dimensioni andranno tarate sulla effettiva dimensione dell’immagine compressa da inserire (il file BartPE.is_ ottenuto con il primo comando).

image

Alla pressione dell’invio il disco virtuale vuoto appena creato verrà mappato con la prima lettera libera (E: nel nostro caso), formattato consentendoci di copiare al suo interno i nostri file.

image
Attenzione: lasciare aperto il prompt dei comandi fino al termine delle operazioni seguenti; in caso contrario il disco virtuale verrà ‘smontato’ e non sarà possibile l’inserimento dei file.

I files da inserire sono:

ntdetect.com recuperato dal service pack 1 di Windows 2003;

setupldr.bin recuperato pure lui dall’SP1 di Windows 2003 e rinominato in upldr

– l’immagine compressa BartPE.is_

– un file di testo winnt.sif contenente le seguenti linee:

[SetupData]

BootDevice = "ramdisk(0)"

BootPath = "\I386\SYSTEM32\"

OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=bartpe.is_"

Il risultato finale sarà più o meno questo

image

Recuperare un disk editor per la modifica del bootsector del disco virtuale; io utilizzo HxD.
Caricare il disco virtuale

image

e modificare nel bootsector il riferimento a NTLDR in UPLDR.

image

Salvare il tutto.

Tornare al prompt dei comandi e premere un tasto; il file immagine verrà chiuso e ‘smontato’

Copiare il file immagine BartPE.dsk nella root della chiavetta e aggiungere al menu.lst la sezione per l’avvio del PE

 

 

 

 

 

 

title BartPE
map --mem /BartPE.dsk (hd0)
map --hook
root (hd0,0)
chainloader (hd0,0)+1

Incrociare le dita e provare Wink.

Note conclusive

Ho utilizzato questo metodo con successo con BartPE e con Dart 5.0 (sempre ex ERD Commander 5.00) ma ritengo che possa tranquillamente funzionare con qualsiasi ISO ‘simil XP’.

Per le caratteristiche del tool di creazione del disco virtuale, ho utilizzato, nella preparazione della ricetta, XP Pro a 32bit. Con qualche accorgimento potrebbe funzionare anche con Vista o 7; se qualcuno vuol provare………..

Credits

Il tutto è liberamente tratto dall’ottimo lavoro di mister online. L’idea di incapsulare una ISO in un finto hard disk è semplicemente geniale!

Prossimamente

Prossima tappa la conversione della chiavetta USB multiboot in un DVD multiboot senza snaturare la struttura.

Il coltellino svizzero per amministratori di sistema

imageNel tentativo di migliorare la mia cassetta degli attrezzi informatici ho pensato di creare una chiavetta USB bootabile che mi consentisse di lanciare vari tools per la manutenzione dei pc senza ricorrere al vecchio e lento CD. Per farlo mi sono basato sul lavoro proposto da www.pendrivelinux.com opportunamente modificato per adattarlo alle mie esigenze.

Ingredienti

– Chiavetta USB di capacità opportuna formattata in FAT32;

– Un pc con installato XP/Vista/7 su cui preparare il polpettone;

– le varie ISO o img dei tool da includere;

– il tool MultibootISOs per preparare la chiavetta.

Preparazione

[more]

Scaricare e lanciare il tool MultibootISOs selezionando la lettera associata alla USB key e selezionandone la formattazione

image

Completata l’operazione otterremo una USB key avviabile con un menu predefinito già pronto.

image

A questo punto si procede con la copia delle varie ISO e img nella chiavetta. Un elenco dei tools liberamente scaricabili con i relativi link di riferimento sono disponibili sul sito www.pendrivelinux.com 

Modificare opportunamente il file menu.lst per avviare i tools.

Aggiunta di software commerciali

Oltre ai vari software freeware/open source indicati nel sito pendrivelinux.com ho aggiunto in maniera semplice anche alcuni programmi commerciali che possono aiutare il quotidiano lavoro di un povero sysadmin.

Symantec Ghost 8.2

E’ sufficiente recuperare il dischetto di boot creato con una qualsiasi distribuzione di Symantec Ghost Enterprise, trasformarlo in un file immagine con, ad esempio, Winimage, copiarla nella root della chiavetta ed aggiungere in menu.lst una sezione simile a:

title Symantec Ghost 8.2

map (hd0,0)/ghost82.img  (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

 

Microsoft DaRT 6.0

(http://www.microsoft.com/windows/enterprise/products/mdop/dart.aspx)

Creare l’ISO con l’apposito tool compreso nel prodotto, copiarla nella chiavetta ed aggiungere questa sezione:

title Microsoft Dart 6.0

find --set-root --ignore-floppies /ERD60.iso

map /ERD60.iso (0xff)

map --hook

root (0xff)

chainloader (0xff)

 

In maniera analoga si possono aggiungere tutti quei prodotti che si presentano sotto forma di floppy o CD/DVD bootabile ad eccezione di quelli che utilizzano, per avviarsi, un ambiente simil XP (BartPE, Console di ripristino di XP, Dart 5.0 ex ERD Commander,ecc.) . Per quest’ultimi è necessario applicare un trucco che vedremo in una prossima puntata 🙂

Ultimi ritocchi

Per concludere è possibile ritoccare all’interno del file menu.lst i parametri per la visualizzazione del menu, come i colori o lo sfondo.

Windows 7, XP mode e le CPU tristi

image

Come noto una delle mosse più decise implementate da Microsoft in Windows 7 per convincere i propri clienti ad abbandonare finalmente XP ed abbracciare una nuova tecnologia client è stato il varo dell’XP mode. Tramite una macchina virtuale contenente un XP Pro è possibile così far funzionare anche il gestionale obsoleto del ventesimo secolo dentro seven in maniera trasparente e indolore. Pubblicità a fiumi su questa funzionalità, il marketing Microsoft che la spaccia quale panacea di tutti i mali; unico requisito l’utilizzo di una macchina con processore che supportasse nativamente la virtualizzazione con tecnologia AMD-V oppure Intel VT.

Sì dirà, che problema c’è, acquisto una nuovo pc e sicuramente avrò un processore adatto allo scopo……… Errore! A verifica più attenta ci si accorge ben presto che molte delle macchine in commercio non hanno un processore che supporta il set di istruzioni richieste e iniziano i problemi 🙁

Finalmente Microsoft si è accorta del problema e ha rilasciato un update che consente l’utilizzo dell’ultima versione di Virtual Pc e quindi dell’XP Mode anche su macchine senza il supporto nativo della virtualizzazione semplicemente aggiungendo all’installazione usuale l’update pubblicato qui .

Exchange 2003 e la PEC

 

image

 

Normalmente i provider che forniscono le caselle PEC richiedono l’utilizzo di connessioni SSL per l’invio / ricezione delle mail. Il POP3 connector di SBS 2003 consente il download dei messaggi solo attraverso il tradizionale protocollo POP3. E allora come ricevere le email certificate in modo centralizzato? Proviamo con un SSL wrapper e vediamo come va……

 

 

– Scaricare l’ultima versione di STunnel da qui 

– installarlo e modificare opportunamente il file di configurazione stunnel.conf tipo questo

; Stunnel configuration file for SSL POP3 Server connection

; Some options used here may not be adequate for your particular configuration

 

; Some performance tunings

socket = l:TCP_NODELAY=1

socket = r:TCP_NODELAY=1

 

; Some debugging stuff useful for troubleshooting

debug = 7

output = stunnel.log

 

; Use it for client mode

client = yes

service=sicurezzapostale.it

 

[sicurezzapostale.it]

accept = 127.0.0.1:111

connect = pops.sicurezzapostale.it:995 

 

– avviare stunnel come servizio

– configurare il POP3 Connector per scaricare da 127.0.0.1:111

Per l’invio, al momento, credo che la soluzione migliore sia quella di creare un account apposito su ogni postazione client.

 

P.S. Lo stesso sistema è naturalmente utilizzabile con tutti i provider che richiedono SSL, google in primis.

L’anno che verrà

Da sempre esiste l’obbligo di festeggiare l’arrivo del nuovo anno con mega feste,effetti pirotecnici, tiratardi, casini inenarrabili……

image

….e da sempre si rimane regolarmente delusi; e il capodanno rimane il più brutto giorno dell’anno. Probabilmente il colpevole è ognuno di noi; le aspettative che riponiamo in questa notte sono evidentemente un po’ eccessive e i risultati rimangono SEMPRE al di sotto delle aspettative.

Per quel che mi riguarda ormai da anni, da quando mi sono accorto che l’adolescenza è terminata, ho scelto un basso profilo e mi sono convertito al ‘capodanno da amici’, una formula che incrementa molto meno il PIL (una serata del genere costa 1/10 di un veglione classico) ma arricchisce molto di più se stessi.

Il Cavaliere mi perdoni……..