Archivio per ‘windows’ categoria

System32 config corrotto, come ripararlo

5 August 2009

Se accendendo la vostra macchina al boot vi ritrovate un messaggio come questo:

\WINDOWS\SYSTEM32\CONFIG missed or corrupted

avete ancora una speranza di salvare il vostro sistema operativo. Seguite scrupolosamente i seguenti passi:

  • Per prima cosa abbiamo bisogno di un CD di Windows XP, avviate la macchina con quest’ultimo (assicuratevi che il bios consenta l’avvio di un sistema operativo da CD-ROM)
  • Fate partire una nuova installazione di Windows, come se lo installaste per la prima volta. Dovete arrivare fino al punto in cui vi chiede di accettare la EULA (premendo il tasto F8)
  • Dopo aver premuto F8 il sistema deve essere in grado di scoprire che nella macchina è già presente un sistema operativo identico e tra le opzioni presentate premete il tasto R per il ripristino
  • Se non avete più Windows installati premente 1 (identifica il sistema operativo) e immettete la password di amministratore, che può essere anche bianca
  • ottenuto il prompt dei comandi scrivete (← sta per invio):
    C: ←
    CD Windows ←
  • Ora siamo all’interno della directory del sistema operativo danneggiato, dobbiamo rinominare la cartella system:
    rename system system.corrupted ←
    copy \windows\repair\system ←
  • estrate il cd-rom dal lettore e digitate exit, il pc si riavvierà.

Con la procedura di cui sopra abbiamo rinominato la cartella system e ripristinato con quella di backup effettuata dal sistema. Al successivo riavvio userà quest’ultima.

Nascondere l’ultimo utente loggato in windows

5 August 2009

Generalmente Windows 2000 e xp in dominio o con la schermata di accesso dove si deve immettere la username, oltre che la password, succede che vi mostra l’ultimo utente che ha effettuato l’accesso a quella macchina. Si tratta di una comodità poichè si presume che colui che usa tale macchina sia sempre la stessa persona. Però ci sono casi in cui questa situazione può rivelarsi seccante. Se desiderate disattivare questa feature bastano i pochi passi seguenti (attenzione si modificano chiavi di registro del sistema operativo):

  1. Start -> esegui -> regedit
  2. Ora esplodete l’albero di sinstra fino ad arrivare alla chiave:
    HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\policies\system
  3. Nella sezione di destra, con il tasto destro del mouse, fate click su una parte bianca dello schermo
  4. scegliere dal menu che ne esce NEW-> DWORD value
  5. Immettete “DontDisplayLastUserName” (fate attenzione alle maiuscole/minuscole!)
  6. doppio click sulla nuova chiave appena creata, imettete il valore “1″

Se desiderate ritornare indietro, non cancellate nulla, semplicemente spostate il valore da 1 a zero.

Windows, scopriamo i tasti combo

5 August 2009

Nella vostra tastiera quasi sicuramente esiste il tasto con il logo di Microsoft Windows. Questo tasto, come sapete, se premuto avvia lo start menu dell’omonimo sistema operativo. Ma le sue funzionalità non sono limitate a questa singola operazione, ve ne sono altre meno note, vediamole qui di seguito:

Win Key + D: Minimizza o ripristina tutte le finestre
Win Key + E: Apre Windows Explorer conosciuto come File Manager
Win Key + F: Apre la funzione di ricerca file
Win Key + CTRL + F: Apre la funzione ricerca computer nella rete locale
Win Key + F1: Mostra la guida in lina di Windows
Win Key + R: Apre la finestra “Esegui”
Win Key + Break/Pause: Mostra la maschera proprietà di sistema
Win Key + shift + M: Riprstina tutte le finestre che sono minimizzate nella barra applicazioni
Win Key + L: Blocca il computer e richiede la password di accesso
Win Key + U: Apre le utility manager (magnifer e altro)
Win Key + Q: Cambia profilo tra gli utenti attivi

Chiusura di windows lentissima

5 August 2009

Mi è capitato che la chiusura di windows xp del mio portatile fosse lentissima. Dopo aver appurato che non vi fossero servizi di rete lanciate proprio in fase di chiusura, o servizi che non riescono a chiudersi correttamente (tramite l’event viewer – visualizzatore eventi) ho scoperto la presenza di una opzione che andava a cancellare la cache per la memoria virtuale e la cache per l’ibernazione del sistema). Solitamente questa Feature è disabilitata per default, ma taluni programmi di terze parti la riabilitano.

Per ovviare il problema richiamate da Start -RUN (esegui) digitate GPEDIT.MSC.
Tramite questa maschera amministrativa (disponibile solo in Windows XP Professional e sulle classi server) navigate attraverso l’albero di sinistra in:
Computer configuration – Windows Settings -Security Settings -Local policies – Security options.
Ora nella finestra operativa di destra cercate la voce Shutdown: Clear virtual memory pagefile, con un doppio click cambiate il valore su DISABLED
Dal successivio riavvio dovreste riottenere uno spegnimento in tempi decisamente più sopportabili.

Muovere i servizi di Windows Cluster via command line

5 August 2009

Nell’amministrazione di un cluster sotto ambiente Windows Server Enterprise, può capitare che a seguito dell’installazione di una patch sia necessario riavviare la macchina. Il movimento dei gruppi (leggi come servizi erogati) da un nodo all’altro significa comunque un disservizio anche se molto limitato nel tempo (solitamente qualche secondo).
Ad esempio, spostare un gruppo che contiene il servizio di posta Microsoft Exchange, comporterà per parecchi client l’avviso sul desktop di perdita e ripristino della connessione. Decisamente seccante se non volete ricevere chiamate d’assistenza totalmetne inutili.

In questo caso si può “spostare” nel tempo il momento in cui potremo cambiare nodo, ad esempio dopo l’orario di lavoro, anche se noi non siamo fisicamente presenti. Per fare questo ci viene in aiuto la command-line, che potremo schedulare comodamente con lo scheduler di windows.

Sotto la directory C:\Windows\System32 è presente il file cluster.exe che di fatto permette di effettuare le operazioni sul cluster non solo tramite la GUI ma anche via command-line.

Potrete trovare documentazione aggiuntiva presso la Technet Microsoft a questa pagina. Oppure un sunto dell’help alla fine di questo articolo.

Procediamo a vedere come si muove un gruppo di un cluster. Poniamo che il cluster si chiami MYCLUSTER, e i nodi fisici si chiamino NODE1 e NODE2. Per il gruppo solitamente troviamo MSDTC e ClusterGroup.

Il comando che daremo sarà:
C:\WINDOWS\system32>cluster.exe /cluster:MYCLUSTER group “MSDTC” /moveto:NODE02

Quindi ricapitolando, basterà che modifichiate MYCLUSTER, NODE02 e MSDTC con le nomenclature che avete scelto. Notare che il gruppo va racchiuso tra virgolette, questo perchè i nodi talvolta sono insiemi di parole, tipo “Cluster Group”.

Sicuramente la successiva domanda sarà, già ma un cluster difficilmente è composto da un solo gruppo, visto che è buona norma usare appunto un gruppo per il cluster, uno per l’MSDTC e uno per il servizio erogato.
In questo caso è possibile “raggruppare” i gruppi, come descritto in questa pagina del technet, con questo comando:
cluster MYCLUSTER group “disk group 1″ /prop AntiAffinityClassNames=”SEP1″
cluster MYCLUSTER group “disk group 2″ /prop AntiAffinityClassNames=”SEP1″

Possiamo anche fare più associazioni, anche incrociate, modificando il valore “SEP1″

Un estratto dell’help di cluster.exe

C:\WINDOWS\system32>cluster.exe -?
The syntax of this command is:

CLUSTER /LIST[:domain-name]

CLUSTER /CHANGEPASS[WORD] /?
CLUSTER /CHANGEPASS[WORD] /HELP
CLUSTER /CLUSTER:clustername1[,clustername2[,...]]
/CHANGEPASS[WORD][:newpassword[,oldpassword]]

=
[/FORCE] [/QUIET] [/SKIPDC] [/TEST] [/VERB[OSE]] [/UNATTEND[ED]] [/?] [/HELP]

CLUSTER [/CLUSTER:]cluster-name

=
/CREATE [/NODE:node-name] [/VERB[OSE]] [/UNATTEND[ED]] [/MIN[IMUM]]
/USER:domain\username | username@domain [/PASS[WORD]:password]
/IPADDR[ESS]:xxx.xxx.xxx.xxx[,xxx.xxx.xxx.xxx,network-connection-name]
/ADD[NODES][:node-name[,node-name ...]] [/VERB[OSE]] [/UNATTEND[ED]]
[/MIN[IMUM]] [/PASSWORD:service-account-password]

CLUSTER [[/CLUSTER:]cluster-name]

=
/CREATE [/NODE:node-name] /WIZ[ARD] [/MIN[IMUM]]
[/USER:domain\username | username@domain] [/PASS[WORD]:password]
[/IPADDR[ESS]:xxx.xxx.xxx.xxx]
/ADD[NODES][:node-name[,node-name ...]] /WIZ[ARD] [/MIN[IMUM]]
[/PASSWORD:service-account-password]
/PROP[ERTIES] []
/PRIV[PROPERTIES] []
/PROP[ERTIES][:propname[,propname ...] /USEDEFAULT]
/PRIV[PROPERTIES][:propname[,propname ...] /USEDEFAULT]
/REN[AME]:cluster-name
/QUORUM[RESOURCE][:resource-name] [/PATH:path] [/MAXLOGSIZE:max-size-kbytes]
/SETFAIL[UREACTIONS][:node-name[,node-name ...]]
/LISTNETPRI[ORITY]
/SETNETPRI[ORITY]:net[,net ...]
/REG[ADMIN]EXT:admin-extension-dll[,admin-extension-dll ...]
/UNREG[ADMIN]EXT:admin-extension-dll[,admin-extension-dll ...]
/VER[SION]
NODE [node-name] node-command
GROUP [group-name] group-command
RES[OURCE] [resource-name] resource-command
{RESOURCETYPE|RESTYPE} [resourcetype-name] resourcetype-command
NET[WORK] [network-name] network-command
NETINT[ERFACE] [interface-name] interface-command

=
name=value[,value ...][:] [name=value[,value ...][:] …]

=
BINARY|DWORD|STR[ING]|EXPANDSTR[ING]|MULTISTR[ING]|SECURITY|ULARGE

CLUSTER /?
CLUSTER /HELP

Note: With the /CREATE, /ADDNODES, and /CHANGEPASSWORD options, you
will be prompted for passwords not provided on the command line
unless you also specify the /UNATTENDED option.

Proteggere Owa con un Apache proxy mod

5 August 2009

OWA (Outlook Web Access) è l’interfaccia webmail di Microsoft Exchange, il sistema di posta di casa Microsoft. Questa interfaccia che risiede nel medesimo server che offre i protocolli MAPI e l’interfacciamento ad Active Directory, gira su un server web IIS (Internet Information Server).
E’ ovvio che non è possibile esporre direttamente questo server verso Internet, sarebbe un bersaglio ambito dai malintenzionati. Per cui solitamente si usa un proxy per disaccopiare l’accesso dalla dmz alla intranet. Microsoft vende un prodotto apposito che si chiama ISA (Internet Security Access) in pratica un Proxy con velleità di Firewall, questo software però è a pagamento e non è compreso nella suite di Exchange.

Quello che vi propongo è una soluzione a costo zero usando Apache 2.0 e le mod mod_ssl e mod_proxy, spiegando passo passo come realizzare una efficace protezione di OWA.

Prima di tutto fissiamo alcune informazioni base per la spiegazione, si suppone che abbiamo Exchange e OWA perfettamente funzionanti, altresì abbiamo un server in ambiente Linux con Apache 2.x installato e funzionate.
Il server Exchange avrà come indirizzo ip 192.168.0.100 e la risoluzione dns in exchange.lan
Il server proxy-apache sarà raggiungibile da internet tramite un indirizzo pubblico a.b.c.d risolto come webmail.mydomain.com, mentre l’indirizzo interno sarà 192.168.10.50

Primo passo sarà quello di configurare le due mods per Apache, ove non presenti. Prima di tutto verifichiamo la situazione, da linux diamo il comando a2enmod -l
Dovremmo ottenere un risultato simile a:

actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 proxy headers proxy_http proxy_ftp proxy_connect

il nostro target è quello di vedere aggiunti in questa lista ssl, proxy, proxy_http, proxy_connect e headers. Se li avete già saltate il prossimo paragrafo.

Con il comando a2enmod -q ssl aggiungeremo il modulo ssl alla lista precedente, che ricordo viene caricata all’avvio di Apache. Ripetiamo l’operazione per i moduli restanti

a2enmod -q proxy
a2enmod -q proxy_http
a2enmod -q proxy_connect
a2enmod -q headers

Riavviamo Apache ( /etc/init.d/apache2 restart ) e i moduli saranno caricati oltre che disponibili ad essere usati.
NOTA: in SuSE Linux Enterprise 10 abbiamo aggiustato anche le direttive APACHE_SERVER_FLAGS con il valore “SSL !NOSSL” presenti in \etc\sysconfig\apache2, o tramite YAST sotto il menu System -> Config Editor: Network/WWW.

Ora passiamo alla parte più complicata da spiegare, dobbiamo modificare il file di configurazione di Apache, nel caso specifico un VirtualHost, questa è la nostra modifica nel completo, più sotto spieghiamo alcuni passaggi:

DocumentRoot "/srv/www/htdocs"
ServerName webmail.mydomain.com
RequestHeader set Front-End-Https "On"
ProxyRequests Off
ProxyPreserveHost On
ServerAdmin support@mydomain.com
ErrorLog /var/log/apache2/webmailssl_error_log
TransferLog /var/log/apache2/webmailssl_access_log
CustomLog /var/log/apache2/ssl_request_log   ssl_combined

SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile /etc/apache2/ssl.crt/owaserver.crt
SSLCertificateKeyFile /etc/apache2/ssl.key/owaserver.key

SetEnvIf User-Agent ".*MSIE.*" \
  nokeepalive ssl-unclean-shutdown \
  downgrade-1.0 force-response-1.0

ProxyPass  http://webmail.mydomain.com/exchange
ProxyPassReverse http://webmail.mydomain.com/exchange
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
SSLRequireSSL

ProxyPass http://webmail.mydomain.com/exchweb
ProxyPassReverse http://webmail.mydomain.com/exchweb
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
SSLRequireSSL

ProxyPass http://webmail.mydomain.com/public
ProxyPassReverse http://webmail.mydomain.com/public
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
SSLRequireSSL

La chiamata ProxyPreserveHost inoltra l’header originale da parte del client al server (exchange).
RequestHeader forza l’uso di https:// al posto di http:// ed è richiesto per creare un tunnel SSL in quanto OWA offre l’autenticazione solo in chiaro, per cui è meglio avere una protezione criptata quando si offrono le proprie username e password.
SSLcertifcate files (.crt e .key in formato PEM) richiedo un certificato autofirmato se non volete spendere soldi, oppure uno acquistato dalle società di sicurezza tipo Verisign.

Ora la parte più interessante:

ProxyPass  http://webmail.mydomain.com/exchange
ProxyPassReverse http://webmail.mydomain.com/exchange
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
SSLRequireSSL

nell’uso di OWA occorre passare in proxy le subdomain /exchange /exchweb e /public.
Tramite SetEnv force-proxy-request-1.0 e SetEnv proxy-nokeepalive andremo a bypassare alcune problematiche di OWA con Apache, come riportato in questo estratto dalla documentazione Apache.

[Protocol Adjustments]
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

For circumstances where you have a application server which doesn’t
implement keepalives or HTTP/1.1 properly, there are 2 environment
variables which when set send a HTTP/1.0 with no keepalive. These are set
via the SetEnv directive.

Bene abbiamo quasi finito, dobbiamo solo indicare al server dove gira Apache come risolvere webmail.mydomain.com, visto che internamente girerà probabilmente su un suffisso diverso. Apriamo il file /etc/hosts ed aggiungiamo
192.168.0.100 webmail.mydomain.com

Operazione completata, riavviamo apache e le schede di rete e proviamo ad accedere dall’esterno alla nostra webmail all’indirizzo https://webmail.mydomain.com/exchange in cui dovrebbe apparire la pop-up con richiesta credenziali di Exchange (forse prima dovrete accettare il certificato se è autofirmato).

Un ultima nota, tutto quanto funziona se andiamo a puntare all’indirizzo https e con la declinazione /exchange, se invece puntate in http a webmail.mydomain.com otterrete una pagina di errore. Per redirigere in automatico la vostra utenza (e salvarvi da chiamate inutili in assistenza) potete usare questa semplice host directive da mettere nel VirtualHost in porta 80, ovviamente modificherete la chiamata RedirectMatch con i valori appropriati alla vostra situazione.

ServerAdmin support@mydomain.com
    ServerName webmail.mydomain.com
    ErrorLog /var/log/apache2/webmail.error_log
    CustomLog /var/log/apache2/webmail.access_log combined
    ServerSignature On

    RedirectMatch permanent /$ https://webmail.mydomain.com/exchange
    RedirectMatch permanent (/.*) https://webmail.mydomain.com$1

pianificare uno spegnimento di windows

5 August 2009
Come schedulare uno shutdown con lo scheduler (operazioni pianificate) di Windows.
Accedere al pannello di controllo, quindi Operazioni pianificate.
Quindi dal menu a tendina File -> Nuovo -> Operazione Pianificata.
Nella maschera principale apparirà una Nuova operazione
Tasto destro su questa nuova voce, quindi Proprietà
Nella nuova maschera che appare, su sfoglia scegliete

X:\Windows\System32\Shutdown.exe

dove X è la vostra unità (solitamente C:).
Assinceratevi che parta come utente che abbia i diritti di amministrazione (se avete aperto questa maschera è molto probabile che li abbiate già), e quindi scegliete quando questa operazione debba avere luogo.
Nel tabulato (in alto sulla maschera) Pianificazione, scegliete la data, oppure impostate una ricorrenza se volete che l’operazione venga effettuata autonomamente. Non mi dilungo nella spiegazione di questa parte, che è autoesplicativa, oltre che coprire praticamente qualsiasi esigenza.

Nel tabulato Impostazioni, se non avete esigenze particolari, vi consiglio di lasciare le impostazioni suggerite.

psapi.dll crash casuali

5 August 2009

Recentemente ho deciso di dare fiducia a Microsoft che da Windows Update richiedeva di aggiornare tassativamente il mio Internet Explorer dalla versione 6.0 alla 7.0
Infausta decisione, sembra funzionare tutto, ma quando premo il menu Strumenti…ecco apparire la finestrella di errore.

Si tratta di un conflitto, o meglio una libreria duplicata (e verosimilmente diversa da quella originale) per la quale Windows si trova in difficoltà. Per risolvere il problema dovete agire come segue:

  1. apri il cerca da Start -> Cerca
  2. cercare qualsiasi file nel vostro pc che corrisponde a PSAPI.DLL
  3. Rinominare (tipo PSAPI.DLL.OLD) tutte i file che trovate, eccetto quello che sta in C:\Windows\SYSTEM32
  4. Riavvio della macchina

The cluster node already exists

5 August 2009

Puo’ capitare che nella creazione di un nodo cluster, specie dopo un recovery da backup o una nuova installazione, si incappi in questo errore che non permette di fatto alla macchina di essere aggiunta, come nodo, al cluster.

Per uscire da questa empasse, per prima cosa controllate che il disco di quorum sia online e caricato sul nodo funzionante, poi eseguite questa operazione che però NON E’ REVERSIBILE
  1. start, quindi Run (esegui), date il comando CMD
  2. scrivete il comando “cluster node/forcecleanup” e date invio
  3. dovrebbe apparire il messaggio “clean up successufully completed
  4. ripetete l’operazione di aggiunta del nodo al cluster

Disattivare Bonjour (mDNSResponder)

5 August 2009

Bonjour, o conosciuto anche come ex RendezVous, si palesa tra i servizi di windows con il nome di mDNSResponder. E’ un progamma della Apple e sostanzialmente serve per trasferire musica al popolare servizio Itunes della Apple stessa.

Fino qui niente di male, se non fosse che il programmino spesso viene installato a nostra insaputa, infiliato a sua volta dentro qualche altro programma. E’ possibile disattivare manulamente il servizio come segue (le parti in rosso sono quelle da digitare):

start -> run -> digita cmd per ottenere una shell di comando.
digita sc stop “Bonjour Service” (includi anche i doppi apici -> “)
digita sc delete “Bonjour Service”

In alternativa è disponibile questo programmino che permette non solo la disattivazione del servizio, ma persino la sua cancellazione.