Archivio

Archive for marzo 2015

Mail, Calendario e Contatti errore “0x80073cff” con Windows 10 Technical Preview build 10041

Per coloro che, dopo aver effettuato l’aggiornamento alla build 10041 di Windows 10 Technical Preview, hanno problemi con l’installazione/apertura delle ModernUI App Mail, Calendario e Contatti e/o viene proposto un messaggio d’errore con riferimento al codice “0x80073cff”, la soluzione è abbastanza veloce.

1

2

Usando i cmdlets per la gestione delle app dello store messe a disposizione da PowerShell (disponibili dalla versione 4.0) è possibile risolvere il problema. Poiché le ModernUI App che usiamo da Windows 8 sono tracciate sul nostro profilo utente dobbiamo, innanzi tutto, rimuovere il pacchetto “microsoft.windowscommunicationsapps”. Per controllare i pacchetti presenti useremo il cmdlet Get-AppxProvisionedPackage, per poi andare a filtrare solamente quello di nostro interesse.

3-1

Il passaggio successivo è la rimozione del pacchetto, per ottenere il risultato dovremo eseguire il cmdlet Remove-AppxProvisionedPackage, che per semplicità andremo a concatenare, con un pipe, al precedente comando. Otterremo, quindi, una riga come la seguente

3

Ora il pacchetto della ModernUI App non è più presente sul nostro pc e dovremo andare a reinstallarlo. Sarà sufficiente aprire il browser e digitare il seguente url per poter accedere al download direttamente dallo store di Microaoft: http://apps.microsoft.com/windows/it-it/app/mail-calendar-and-people/64a79953-cf0b-44f9-b5c4-ee5df3a15c63

4

Dopo il download e l’installazione del nuovo pacchetto potremo ritornare ad usare le app.

Per chi non volesse scrivere i cmdlets è disponibile lo script ModernUI_App_WinComunication_ErrorFix.ps1

Buon divertimento a tutti con #Windows10!!! Sorriso

UAC con PowerShell: come capire il livello di privilegi d’esecuzione

Da Windows Server 2008 ci siamo abituati alla presenza dello User Account Control (UAC) e molti programmatori hanno consigliato di disattivare questa funzionalità per garantire il funzionamento delle loro applicazioni; purtroppo anche molti ITPro hanno seguito questa strada per semplificarsi l’esistenza operativa…a discapito della sicurezza, soprattutto delle loro azioni!!

UAC-Icon

PowerShell, per progetto e per definizione, è sicuro sia per quanto inerente l’esecuzione del processo in memoria sia per l’esecuzione di cmdlets e scripts, quindi come possiamo sapere se il contesto utente che stiamo usando sfrutta o meno i privilegi elevati? La risposta è abbastanza semplice: .NET Framework!

Per verificare il nostro livello di privilegi possiamo istanziare una variabile di tipo “Security.Principal.WindowsIdentity” (per maggiori dettagli sul namespace di appartenenza di questa classe consultate MSDN). Un altro elemento da tenere in considerazione è l’enumerazione dei tipi di ruolo “Security.Principal.WindowsBuiltinRole” che ci permette di verificare, mediante il metodo IsInRole il nostro livello di privilegi per il contesto.

Con queste poche righe di script sarà possibile sapere il livello di privilegi usati per l’esecuzione della sessione corrente di PowerShell. Lo script è prelevabile a questo link: UACCheckMode.ps1

   1:  $CurrentUser = [Security.Principal.WindowsIdentity]::GetCurrent();
   2:  $bUAC = (New-Object Security.Principal.WindowsPrincipal $CurrentUser).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator);
   3:   
   4:  if($bUAC)
   5:  {
   6:      Write-Host "$($CurrentUser.Name) run PowerShell in elevated mode";
   7:  }
   8:  else
   9:  {
  10:      Write-Host "$($CurrentUser.Name) run PowerShell in user mode";
  11:  }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Ora non ci sono più scuse per evitare di lavorare in sicurezza e, soprattutto, verificare il livello di privilegi usato nel contesto d’esecuzione ci permette di scrivere script affidabili e sicuri!

Buono scripting a tutti!!! Sorriso

%d blogger hanno fatto clic su Mi Piace per questo: