Modifica periodo di validità di default dei certificati su CA Windows 2008 e successivi

Di default i certificati emessi tramite il servizio di certification authority in Windows 2008 e successivi è di un anno. Volendo allungarlo un po’ si puo’ agire con questi semplice comandi:

Verificare l’attuale valore impostato digitando il seguente comando

certutil -getreg ca

In questo esempio è settato a due anni

Con

certutil -setreg ca\ValidityPeriodUnits 5

seguito dal restart del servizio della certification authority

net stop certsvc

net start certsvc

è possibile modificarne la durata di default a ad esempio 5 anni.

Inutile dire che la nuova scadenza sarà applicata su tutti i nuovi certificati emessi.

E il global catalog non c’è più!

Un bel giorno un simpatico domain controller con Windows 2008 a bordo decide di andare in ferie; non autentica più gli utenti e blocca l’accesso ad alcune risorse condivise.

Una rapida analisi con un dcdiag mi rivela una inquietante segnalazione:

error 1355. A Global Catalog Server could not be located .
Warning: DcGetDcName(GC_SERVER_REQUIRED) call failed, error 1355

..come non trova il global catalog! l’unico esistente nel dominio è a bordo dello stesso server su cui sto’ eseguendo i test 🙁

Naturalmente, in questa situazione, anche gli snap ‘Domini e trust’ e ‘Sites’ non funzionano dichiarando che non esiste il dominio.

Per completare il quadro, non esistono più le condivisioni SYSVOL e SCRIPT e le relative cartelle di origine sono vuote.

Per ripristinare lo status quo eseguire i seguenti passi:

– prepararsi un bel caffè!

– recuperare dal backup la cartella SYSVOL e ripristinarne il contenuto nel percorso d’origine

– stoppare il servizio ‘Replica File’ (ammesso che già non lo sia) da GUI o tramite net stop ntfrs 

– nel registry andare a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Process at Startup e nella chiave DWORD BurFlags modificare il valore in D4 (HEX).

– riavviare il servizio ‘Replica File’ da GUI o tramite net start ntfrs 

– verificare con dcdiag che il problema del global catalog sia risolto;

verificare che siano ricomparse le share sparite.

Un sentito e commoso GRAZIE a ‘Il caffè delle 8

E l’icona non c’è più!

image

Vista prima e Windows 7 poi hanno in comune l’abitudine di far sparire a loro piacimento alcune icone di sistema dalla tray bar, senza avvertire il povero utonto il quale maledice la funzionalità di auto hide delle icone fin dalla sua introduzione, e che non si capacita del perché debbano possedere una vita propria.

Per ovviare al problema procedere come segue:

1) Aprire Regedit

2) Trovare la chiave

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify

3) Cancellare le chiavi IconStreams e PastIconsStream

4) Disconnettersi e riconnettersi o, a piacere, terminare Explorer.exe e rilanciarlo.

Reset password domain admin Windows 2003

Se dovesse capitare di dimenticare la password dell’unico domain admin di un dominio Windows 2003 cosa è necessario fare?

1) Disperarsi ed imprecare prendendo a calci il povero domain controller nella speranza che, impietosito, ci consenta l’accesso.

(perfetto come anti stress)

2) Formattare tutto e ricostruire il dominio (o addirittura la foresta) da zero.

(vabbè avevate solo 3500 oggetti in active directory…..)

3) Applicare la procedura riportata qui da Daniel Petri con SRVANY e INSTSRV e sintetizzata in una procedura automatica da Robert Strom scaricando questi script e applicandoli in Directory Service Restore Mode.

Riassumendo:

– scaricare gli script indicati;

– accedere a un domain controller in Directory Service Restore Mode;

– loggarsi con la password di recovery. Se non la ricordate (probabile) potete sempre cambiarla con uno dei vari tools gratuiti per XP tipo Offline NT Password and Registry editor o simili.

– copiare ed eseguire lo script ‘magico’

– riavviare, iniziare una macumba e, alla richiesta di logon, inserire Administrator e, come password, P@ssw0rd

image

Qualora l’operazione abbia successo offrire un sacrificio umano (il sysadmin che ha dimenticato la password) ad una divinità a piacere, in caso contrario ripartire dal punto 1. Triste

Sincronizzare l’orologio del proprio dominio con una fonte esterna

image 

 

In ogni dominio Active directory, è bene che esista una sorgente oraria precisa affinchè sia possibile mantenere sincronizzati automaticamente tutti i client. In ambito AD il servizio è fornito dal domain controller che detiene il ruolo di PDC emulator e può essere sincronizzato con un time service presente su internet.

 

 

 

Sul PDC avviare un prompt dei comandi (in modalità amministrativa se si tratta di Windows 2008 o superiore) e digitare:

w32tm /config /manualpeerlist:time.ien.it /syncfromflags:manual /reliable:yes /update

 

dove time.ien.it rappresenta il time server modificabile a piacere.

 

Riavviare il servizio W32tm con

net stop w32time
net start w32time

Internet Explorer e la stampa dot matrix

image

Con l’avvento di Internet Explorer 8 è stato introdotto un nuovo motore di rendering delle pagine web, definito Trident 4.0 sostituendo la vecchia versione 3.1. Miglioramento di prestazioni, completo supporto di (quasi) tutte le specifiche HTML e XHTML e decisa allergia alle stampanti ad aghi. Attualmente sembra essere presente un bug che impedisce la corretta stampa su apparati che utilizzano pixel aspect ratio rettangolare. E, purtroppo, praticamente tutte le stampanti dot matrix a 9 aghi non supportano alcuna risoluzione ‘quadrata’, e, in quelle a 24 aghi, solo alcune risoluzioni consentono una stampa corretta.

[more]

Il risultato, in questi casi, è simile a questo:

image Le soluzioni si riducono essenzialmente all’utilizzo del vecchio motore di rendering, disinstallando IE8 oppure, se possibile, impostare nel driver della stampante una risoluzione ‘quadrata’ tipo 180×180 o 360×360.
Ultima e non trascurabile opzione è quella di rottamare la stampante ad aghi Tongue out

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)