Disinstallare Office manualmente

CancellaOffice Spesso capita di dover aggiornare o reinstallare Office ma la procedura non sempre riesce…

Microsoft vi aiuta.

Ecco come fare:

Dal sito del supporto Microsoft apri il link seguente e sarai reindirizzato alla pagina “Disinstallare Office da un PC”.

A questo punto scegli:

  • il sistema operativo del PC
  • la versione di Office da disinstallare.

Il sistema scarica un eseguibile che esegue automaticamente la disinstallazione.

Attenzione: riavviare il PC dopo la disinstallazione!!!

 

Annunci

Lanciare uno script remoto su un PC del dominio con PsExec

server-to-pc Volete lanciare uno script remoto su un PC del dominio?

Volete, ad esempio, attivare il DHCP su un client della rete?

Usate PSexec!

Ecco come fare:

Anzitutto devi scaricare PsExec (puoi seguire le istruzioni presenti in questo nostro articolo).
Crea poi un file vbs o bat da copiare sul PC remoto e lanciare. Io in questo caso uso un file AttivaDHCP.vbs che configura l’assegnazione automatica degli indirizzi IP con DHCP sul PC remoto. Queste le righe dello script AttivaDHCP.vbs:

strComputer = "."
Set objWMIService = GetObject(_
 "winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
 ("Select * from Win32_NetworkAdapterConfiguration " _
 & "where IPEnabled=TRUE")
 
For Each objNetAdapter In colNetAdapters
 errEnable = objNetAdapter.EnableDHCP()
 errEnable = objNetAdapter.SetDNSServerSearchOrder()
Next

Crea poi un file .bat ed inserisci nella sezione “Impostazione parametri fissi” il nome dell’utente amministratore, il percorso/nome del file dello script da copiare e lanciare sul PC remoto. Ecco lo script:

@echo off
rem Impostazione parametri fissi
rem ============================
SET UTENTEAMMINISTRATORE="MIODOMINIO\Administrator"
SET PERCORSOSCRIPT="\\SERVER-01\Scripts"
SET NOMESCRIPT="AttivaDHCP.vbs" 

echo Impostazione parametri variabili
echo ================================
SET /P NOMEPC=[Inserisci il nome del PC]: 
SET /P PASSWORDADMIN=[Inserisci la password dell'utente %UTENTEAMMINISTRATORE%]: 


if "%PASSWORDADMIN%"=="NUL" goto NOPARAMETERS
if "%NOMEPC%"=="NUL" goto NOPARAMETERS 
Set NOMEPC=NUL 
Set PASSWORDADMIN=NUL 
echo.
echo.
echo.

echo Copio il file dello script sul PC %NOMEPC%
echo ==========================================
set STRINGAPSEXECCOPIA=cmd /c copy %PERCORSOSCRIPT%\%NOMESCRIPT% %public%\downloads
psexec -u %UTENTEAMMINISTRATORE% -p %PASSWORDADMIN% \\%NOMEPC% %STRINGAPSEXECCOPIA%
echo.
echo.
echo.

echo Lancio lo script sul PC %NOMEPC%
echo ================================
set STRINGAPSEXECLANCIA=cscript %public%\downloads\%NOMESCRIPT%
psexec -u %UTENTEAMMINISTRATORE% -p %PASSWORDADMIN% \\%NOMEPC% %STRINGAPSEXECLANCIA%
echo.

pause 
Set PASSWORDADMIN=NUL
Set NOMEPC=NUL
goto FINE

:NOPARAMETERS
echo.
echo ERRORE: Inserire il nome del PC e la PASSWORD DI ADMIN

:FINE
echo.
echo =================
echo Fine elaborazione

Lo script dapprima copierà il file indicato nella variabile %NOMESCRIPT% nel percorso locale del PC %public%\downloads e poi lo lancerà. Per consentire i giusti permessi lo script chiederà la password dell’utente amministrativo indicato nella variabile %UTENTEAMMINISTRATORE%.

Otterrai:

Impostazione parametri variabili
================================
[Inserisci il nome del PC]: PC-001
[Inserisci la password dell'utente "MIODOMINIO\Admin"]: Mi@password.



Copio il file dello script sul PC PC-001
==========================================

PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com


        1 file copiati.
cmd exited on PC-001 with error code 0.



Lancio lo script sul PC PC-001
================================

PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com


Microsoft (R) Windows Script Host Versione 5.8
Copyright (C) Microsoft Corporation 1996-2001. Tutti i diritti riservati.

cscript exited on PC-001 with error code 0.

Premere un tasto per continuare . . .

=================
Fine elaborazione

Installazione automatica PDFcreator

PDFprinter Volete installare una stampante PDF in un PC del dominio senza intervento dell’utente?

Usate PDFcreator

Ecco come fare:

Innanzitutto scaricate PDFcreator (la versione standard, non la Plus) e copiatelo in una cartella condivisa sul server.

Create poi uno script .bat, nella stessa cartella, con il seguente contenuto:

@echo off
for /f "tokens=*" %%a in ('dir /b "%~dp0PDFCreator*Setup.exe"') do (
echo %n% %~dp0%%a
start /wait "" "%~dp0%%a" /ForceInstall /SILENT /LANG=Italiano /COMPONENTS="program,ghostscript" /NORESTART /NOICONS /ProxyName=proxy1:8088
)

Io ho inserito anche un falso proxy per evitare che il programma si connetta ad Internet. Gli altri switch della linea di comando servono ad usare la lingua italiana (/LANG=Italiano), ad installare solo i componenti necessari (/COMPONENTS=”program,ghostscript”), ad evitare il riavvio del PC (/NORESTART), e ad evitare che il programma aggiunga icone sul desktop (/NOICONS).

L’opzione /SILENT consente un’installazione che mostra lo stato di avanzamento, ma se vorreste evitare del tutto interazioni con l’installazione allora basterà usare lo switch /VERYSILENT.

Basterà quindi lanciare lo script .bat dalla cartella condivisa e l’installazione creerà automaticamente una nuova stampante PDF su cui lanciare le stampe per la creazione dei documenti.

Vi consiglio anche di impostare la creazione di documenti PDF/A per l’utilizzo istituzionale; il formato PDF/A, infatti, incorpora tutte le informazioni necessarie e sufficienti per la visualizzazione del documento e quindi ne garantisce la leggibilità anche nelle versioni future. Questi i passaggi:

PDFcreator1

Quindi seleziona il profilo relativo

PDFcreator2

Come modificare il nome di un computer del dominio da remoto

RinominaPC Volete cambiare il nome di un computer  del dominio senza accedere fisicamente al PC?
Un comando di Windows Server vi consente l’operazione.

Ecco come fare:

dal server di dominio lanciare il seguente comando

netdom renamecomputer NOMEORIGINALEPC /newname:NUOVONOMEPC /ud:NOMEDOMINIO\Administrator /pd:PasswordAmministratore

La sintassi è quindi:

netdom renamecomputer {nome del PC da cambiare} /newname:{nuovo nome del PC} /ud:{nome del dominio}\{nome utente amministratore del dominio} /pd{password dell’utente amministratore del dominio}

L’output a cui bisognerà dare conferma sarà il seguente (tenendo presente che se sul PC sono presenti condivisioni e servizi basati su nome computer essi non funzioneranno più):

Con questa operazione il computer NOMEORIGINALEPC verrà ridenominato NUOVONOMEPC.

Alcuni servizi, ad esempio Autorità di certificazione, si basano su un nome di computer fisso. Se un servizio di questo tipo è in esecuzione in NOMEORIGINALEPC, una modifica del nome di computer avrebbe un'influenza negativa.

Continuare (S o N)?

Notifiche Windows Server Backup tramite e-mail pianificate

Windows backup notification Usate Windows Server Backup e vorreste ricevere le notifiche dell’esito del backup?

Un’operazione pianificata vi aiuterà!

Ecco come fare:

Create, sul server che effettua il backup, due operazioni pianificate (una per il backup riuscito l’altra per il backup con errori) importando i seguenti files XML (personalizzando le parti evidenziate):

File BackupKO.xml

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2012-11-22T10:58:40.4469273</Date>
    <Author>NOMEDOMINIO\utente</Author>
  </RegistrationInfo>
  <Triggers>
    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Microsoft-Windows-Backup"&gt;&lt;Select Path="Microsoft-Windows-Backup"&gt;*[System[(EventID=5 or EventID=8 or EventID=17 or EventID=18 or EventID=19 or EventID=20 or EventID=21 or EventID=22 or EventID=49 or EventID=50 or EventID=52 or EventID=100 or EventID=517 or EventID=518 or EventID=521 or EventID=527 or EventID=528 or EventID=544 or EventID=545 or EventID=546 or EventID=561 or EventID=564 or EventID=612)]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
    </EventTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>NOMEDOMINIO\utente</UserId>
      <LogonType>Password</LogonType>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT4H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <SendEmail>
      <Server>127.0.0.1</Server>
      <Subject>Errore backup server</Subject>
      <To>info@acme.it</To>
      <From>info@acme.it</From>
      <Body>Verificare il backup da Windows server backup.</Body>
      <HeaderFields />
      <Attachments />
    </SendEmail>
  </Actions>
</Task>

E file BackupOK.xml

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2012-11-22T10:58:40.4469273</Date>
    <Author>NOMEDOMINIO\utente</Author>
  </RegistrationInfo>
  <Triggers>
    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Microsoft-Windows-Backup"&gt;&lt;Select Path="Microsoft-Windows-Backup"&gt;*[System[(EventID=4)]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
    </EventTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>NOMEDOMINIO\utente</UserId>
      <LogonType>Password</LogonType>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT4H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <SendEmail>
      <Server>127.0.0.1</Server>
      <Subject>BACKUP OK </Subject>
      <To>info@acme.it</To>
      <From>info@acme.it</From>
      <Body>Backup terminato correttamente.</Body>
      <HeaderFields />
      <Attachments />
    </SendEmail>
  </Actions>
</Task>

Nei server con sistema operativo Windows 2012 R2 il comando di invio e-mail è deprecato per cui ricorriamo a Powershell. Lanceremo quindi al posto dell’attività “Invio messaggio di posta elettronica (deprecato)” l’attività “Avvio programma” con i seguenti parametri:

Programma o script:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Parametro:
-command ” & {Send-MailMessage -SMTPServer 127.0.0.1 -To ‘info@acme.it’ -From ‘info@acme.it’ -Subject ‘Errore backup server’ -Body ‘Verificare il backup da Windows server backup.’}”

O più semplicemente usare i seguenti file:

File BackupKO-2012R2.xml

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2012-11-22T10:58:40.4469273</Date>
    <Author>NOMEDOMINIO\utente</Author>
  </RegistrationInfo>
  <Triggers>
    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Microsoft-Windows-Backup"&gt;&lt;Select Path="Microsoft-Windows-Backup"&gt;*[System[(EventID=5 or EventID=8 or EventID=17 or EventID=18 or EventID=19 or EventID=20 or EventID=21 or EventID=22 or EventID=49 or EventID=50 or EventID=52 or EventID=100 or EventID=517 or EventID=518 or EventID=521 or EventID=527 or EventID=528 or EventID=544 or EventID=545 or EventID=546 or EventID=561 or EventID=564 or EventID=612)]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
    </EventTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>NOMEDOMINIO\utente</UserId>
      <LogonType>Password</LogonType>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT4H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Command>
      <Arguments>-command " &amp; {Send-MailMessage -SMTPServer 127.0.0.1 -To 'info@acme.it' -From 'info@acme.it' -Subject 'BACKUP OK' -Body 'Verificare il backup da Windows server backup.'}"</Arguments>
    </Exec> 
 </Actions>
</Task>

File BackupOK-2012R2.xml

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2012-11-22T10:58:40.4469273</Date>
    <Author>NOMEDOMINIO\utente</Author>
  </RegistrationInfo>
  <Triggers>
    <EventTrigger>
      <Enabled>true</Enabled>
      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Microsoft-Windows-Backup"&gt;&lt;Select Path="Microsoft-Windows-Backup"&gt;*[System[(EventID=4)]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>
    </EventTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>NOMEDOMINIO\utente</UserId>
      <LogonType>Password</LogonType>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>Parallel</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT4H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Command>
      <Arguments>-command " &amp; {Send-MailMessage -SMTPServer 127.0.0.1 -To 'info@acme.it' -From 'info@acme.it' -Subject 'BACKUP OK' -Body 'Backup terminato correttamente.'}"
      </Arguments>
    </Exec> 
  </Actions>
</Task>

Al verificarsi dell’evento di fine backup sarà spedito un messaggio e-mail con l’esito del salvataggio.

Se non avete un server di posta interno vi consigliamo di leggere il nostro post Configurare un SMTP server su Windows 2008 senza Exchange

Come evitare che un ransomware crittografi i files condivisi su un server

Stop ransomware Volete evitare che un ransomware crittografi i vostri files condivisi su un server?

Bloccate le estensioni che i ransomware creano.

I ransomware sono dei softwares che crittografano il contenuto dei vostri files di produttività (doc, xls, jpg, pdf, ecc.) cancellando il file originale e creandone una versione crittografata con un nome files composto dal vostro nome file seguito da un’estensione personalizzata.
Il più famoso ransomware, Cryptolocker, ad esempio, crea dei files con un estensione contenente la parola “crypt” oppure contenente un indirizzo di posta elettronica (tipicamente l’indirizzo di colui che potrebbe sbloccare i files).
Lo scopo di questo post è quello di bloccare il processo di creazione di files con dette estensioni, stoppando sul nascere l’infezione. Infatti se si riesce ad inibire il processo di creazione dei files che presentano certi tipi di estensioni, bloccheremmo in pratica l’infezione.
Il procedimento è possibile su tutti i servers Microsoft grazie allo strumento di amministrazione chiamato “Gestione risorse file server” (fsrm.msc). Qualora non trovaste questa voce negli strumenti di amministrazione bisognerà installare il ruolo “Gestione risorse file server” dal Server Manager (in 2008 il ruolo si chiama “Servizi file” mentre in 2012 il ruolo è Servizi file e archiviazione ->Servizi file e iScsi ->Gestione risorse file server).
Potete anche usare Powershell sia per verificare che il servizio sia già attivo (se il risultato è true allora il ruolo è già installato):

Import-Module ServerManager;(Get-WindowsFeature FS-Resource-Manager).Installed

che per installarlo

Import-Module ServerManager; Add-WindowsFeature FS-Resource-Manager

Ricordatevi di eseguire Powershell sempre come amministratore!

Una volta attivato il ruolo, lanciare la console dagli strumenti di amministrazione.

Gestione risorse file server

figura 1

Selezionare Gestione screening dei file -> Gruppi di file ed aggiungere un nuovo gruppo di files di nome “Crypto” contenente le estensioni che volete bloccare:
Ad esempio: *.*@*, *.*crypt*, *.*yy*, *.frt*, *.locky, *.???.exe, *.???.cab.

Proprietà gruppo di file

figura 2

Poi nella sezione Gestione screening dei file -> Modelli per lo screening dei file aggiungere un nuovo modello “Blocca ransomware” con le opzioni indicate nella figura 3

modello per lo screening

figura 3

Volendo potete anche abilitare, nella sezione messaggio di posta elettronica, l’invio degli avvisi all’amministratore di sistema cosicché al primo tentativo del ransomware di crittografare un file della rete sarà lanciata un’e-mail di avviso.
Prima di abilitare tale funzione bisognerà configurare il server per l’invio. Selezionate con il pulsante destro Gestione risorse file server e scegliete Configura opzioni. Impostate le opzioni come findicato nella figura 4.

mailserverfsrm

figura 4

A questo punto bisognerà scegliere le cartelle da monitorare sul server, soprattutto quelle condivise o quelle delle applicazioni LOB.
Selezionare Gestione Screening dei file ->Screening dei file e con il pulsante destro scegliere Crea screening dei file.
Selezionare le opzioni come indicato nella figura 5.

Crea screening dei file

figura 5

La soluzione non è definitiva, nel senso che bisogna modificare le policy ogniqualvolta nasce un nuovo ransomware che crea una nuova estensione, però l’aggiunta delle nuove estensioni è un processo semplice e rapido.
Vi invitiamo a segnalarci le estensioni che riscontrate ed a condividerle con i nostri seguaci.