Archives For Lavoro

Di NotifyKace ne abbiamo già parlato un paio di volte in passato. Tutto è nato da una migrazione dell’appliance e relativa necessità di verificare che gli agent fossero correttamente installati e comunicanti con essa. Nel frattempo NotifyKace è cresciuto, si è evoluto e ha dato maggiori informazioni, permettendomi anche di richiamarlo facilmente in fase di login al dominio (inizialmente) o GPO (oggi). Ti racconto le ultime novità introdotte, così che anche tu possa sostituirlo a quello che forse hai in uso attualmente, ammesso che calzi a pennello la nuova soluzione adottata.

Kace: una rispolverata a NotifyKace.vbs (0.5) e uso delle GPO

Parti dalle basi

Se non hai idea di cosa sto parlando, ti invito a leggere l’articolo originale scritto un anno fa circa, è ancora valido e ti insegna alcuni trucchi per gestire i tuoi agenti Quest Kace, tutto sommato è ciò su cui baso lo sviluppo di NotifyKace:

Kace: un alert in caso di client mancante o inventario troppo vecchio

Ciò detto

Si può passare alla nuova versione dello script VBS, arrivata alla 0.5, che integra una funzione per l’invio della mail di allerta, un nuovo controllo riguardo l’esistenza del database di inventario e la rimozione delle esclusioni hostname perché oggi, a differenza di ieri, uso una GPO per arrivare direttamente sulle macchine interessate, lo script non viene quindi eseguito su endpoint che non devono avere l’agente Quest a bordo.

Il tutto si traduce con questo:

Della GPO per l’esecuzione programmata ne parliamo tra poco, nel frattempo i passaggi che più possono interessarti sono quelli relativi all’invio della comunicazione (a mezzo a posta elettronica), ora eseguito tramite funzione dedicata Call MailtoKacelog(Destination, DestinationCC, DestinationBCC, MailBody, Subject) e la verifica dell’esistenza del file di inventario (che puoi rinominare temporaneamente per verificare che lo script funzioni in maniera corretta):

'Test esistenza %ProgramData%\Quest\Kace\kinventory.db
If (oFSO.FileExists(sDirectoryPath & "\kinventory.db")) Then
'MsgBox("Debug: kinventory.db found " & strComputerName)

Il MsgBox commentato è lasciato lì volutamente nel caso in cui tu volessi vedere a video un popup di debug a conferma dell’esistenza del file; in uno script di produzione non ha invece senso lasciarlo senza commento. Ciò detto, null’altro cambia ma rimane più snello e pulito, con il rilevamento di indirizzo IP e ulteriori dettagli integrati nella funzione di MailtoKacelog.

Esecuzione programmata

Che poi è un po’ il succo del discorso che più cambia rispetto al passato. L’evoluzione della verifica consiste nella sua “rimozione” dalla fase di login, portandola invece all’interno dell’Utilità di pianificazione di Windows. L’operazione è costituita da due passaggi: il primo ti permetterà di copiare il file dello script all’interno dei tuoi PC, il secondo consisterà nell’inserimento dell’operazione programmata, che potrà essere poi eseguita secondo tue esigenze.

Copia del file

Crea una nuova GPO (o modificane una esistente che riguarda Kace) e naviga in Computer ConfigurationPreferences Windows SettingsFiles → Aggiungi un file da copiare sulla destinazione (che equivale al PC raggiunto dalla GPO), è qui che dovrai dirgli dove andare a recuperare il file VBS e in che cartella finale copiarlo. Ti propongo il riassunto catturato dalla GPO che stiamo attualmente utilizzando:

Kace: una rispolverata a NotifyKace.vbs (0.5) e uso delle GPO 1

Il file NotifyKace.vbs si trova in una share di rete raggiungibile da ogni nostro PC, verrà quindi copiato all’interno della cartella %ProgramData%\Quest, destinazione già presente sulle macchine proprio perché creata e quotidianamente utilizzata dall’agente Quest. Da qui si potrà certamente eseguire manualmente il controllo, oppure procedere con la seconda parte, quella della programmazione dell’operazione automatica.

Operazione programmata tramite Utilità di pianificazione

La seconda parte della GPO è quella che puoi creare e mettere in funzione navigando Computer ConfigurationPreferences Windows SettingsControl Panel SettingsScheduled Tasks → Crea un nuovo Scheduled Task (At least Windows 7) chiamato come meglio credi (nel mio caso è KACE check) e fagli eseguire un programma, puntandolo ovviamente a %ProgramData%\Quest\NotifyKace.vbs con i privilegi elevati e l’attivazione quotidiana all’orario che preferisci (nel mio caso le 12:00):

Kace: una rispolverata a NotifyKace.vbs (0.5) e uso delle GPO 2

In conclusione

Salvo errori, la configurazione del tuo nuovo controllo è terminata. Applica la GPO alle unità organizzative che contengono i PC del tuo dominio, attendi quindi che questa si propaghi e che inizi a svolgere il suo mestiere. Fai qualche test su macchine non in produzione, accertati che tutto funzioni correttamente, gioca con il file di inventario (magari rinominandolo in modo da non farlo rilevare al VBS e farti inviare così la mail di allerta per database non trovato), poi procedi con tutto il resto del parco macchine.

In caso di dubbi o anomalie, l’area commenti è a tua totale disposizione.

Buon lavoro :-)

Condividi l'articolo con i tuoi contatti:

ServiceDesk Plus, come tanti altri software (Microsoft Windows ne è un esempio comune e pratico), permette di effettuare rollback di versione nel caso in cui qualcosa vada storto o non convinca gli utilizzatori post-upgrade. L’operazione viene permessa tramite la finestra dell’Update Manager, la medesima che utilizzi per installare un Service Pack di programma, basta dare un’occhiata alla parte bassa della finestra, solitamente “lasciata lì e ignorata”:

ServiceDesk: recuperare lo spazio disco occupato dagli aggiornamenti

Selezionando un SP e facendo clic su Uninstall… potrai tornare indietro alla versione interessata, e fin qui tutto bene (dirai). Se la tua intenzione è invece quella di fare pulizia perché gli aggiornamenti funzionano correttamente, sappi che puoi recuperare lo spazio occupato da quelle patch in qualsiasi momento, semplicemente andando a cancellare i file che si trovano nella cartella ManageEngine\ServiceDesk\Patch (all’interno del disco fisso di installazione del programma). Puoi fare pulizia completa, ciò non impatterà ServiceDesk Plus, che non dovrà neanche essere fermato:

ServiceDesk: recuperare lo spazio disco occupato dagli aggiornamenti 1

La questione è stata discussa più volte all’interno del forum della Community, ti basta una ricerca per arrivare a molteplici risultati simili a questo (vecchissimo, ma ancora valido): pitstop.manageengine.com/portal/community/topic/safe-to-delete-servicedesk-patch-folder-18-10-2012.

Buon lavoro.

×

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

In un robusto file Excel, molto ricco e popolato, spesso può capitare di perdere d’occhio la cella selezionata con relativa riga e colonna; hai bisogno magari di dare un’occhiata a un valore della stessa riga ma la cella su cui hai puntato il cursore del mouse si trova al lato opposto del foglio, diciamo che non è la cosa più comoda dell’Universo. Per questo motivo ho cercato una soluzione percorribile e poco invasiva che mi aiutasse a non perdere di vista nulla di ciò che mi tornava utile.

Excel: eliminare collegamenti ad altre cartelle quando non funziona l'interruzione 1

Ho percorso la via della modifica VBA, come già successo in passato con altro. Ispirazione e script perfettamente funzionante ereditato da extendoffice.com/it/documents/excel/1494-excel-highlight-active-row-and-column.html, io ho solo dovuto ritoccare il colore scelto per evitare di andare in contrasto con quelli già utilizzati nel mio foglio Excel. Ti riepilogo molto rapidamente i passaggi da fare:

Con Excel aperto, e il tuo foglio di lavoro in primo piano, premi la combinazione ALT + F11 da tastiera, si aprirà il Visual Basic Application Editor. Seleziona con un doppio clic il foglio di lavoro che ti interessa modificare, comparirà una finestra vuota (bianca) subito a destra. A questo punto potrai copiare e incollare il seguente codice all’interno di quella finestra:

Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Update 20140318
Static xRow
Static xColumn
If xColumn <> "" Then
    With Columns(xColumn).Interior
        .ColorIndex = xlNone
    End With
    With Rows(xRow).Interior
        .ColorIndex = xlNone
    End With
End If
pRow = Selection.Row
pColumn = Selection.Column
xRow = pRow
xColumn = pColumn
With Columns(pColumn).Interior
    .ColorIndex = 6
    .Pattern = xlSolid
End With
With Rows(pRow).Interior
    .ColorIndex = 6
    .Pattern = xlSolid
End With
End Sub

Considera che il codice andrà a evidenziare l’intera riga e l’intera colonna rispetto alla cella selezionata in quel momento. Se ti sposterai utilizzando la tastiera (o il clic del mouse), cambierà la relativa evidenziazione, tutto live. Salvando quanto copiato e incollato nella finestra dell’editor VBA (che ora puoi chiudere) vedrai immediatamente il risultato, non c’è bisogno di eseguire alcuna macro (quindi rifiuta eventuali messaggi a video in merito, come quello in immagine qui di seguito):

Excel: evidenziare riga e colonna rispetto alla cella selezionata

Fai clic su “Sì”, salva il lavoro senza l’utilizzo di macro.

Se al termine del tuo lavoro desideri ripristinare il normale funzionamento del foglio Excel (quindi rimuovere l’evidenziazione), dovrai tornare nell’editor VBA (sempre con ALT + F11 da tastiera) e cancellare tutto il codice sorgente che hai precedentemente copiato e incollato, quindi salvare la modifica e chiudere l’editor. L’ultima colonna e riga rimaste evidenziate dovranno essere riportate manualmente allo stile di base (copia il formato da una colonna corretta e applicalo a quella rimasta evidenziata, ripeti l’operazione per la riga).

Update

Quasi dimenticavo: se vuoi modificare il colore dell’evidenziazione, dovrai intervenire su entrambi i valori ColorIndex = 6 e inserire un differente numero al posto del 6, secondo una palette che puoi facilmente trovare in una lista come quella proposta qui: dmcritchie.mvps.org/excel/colors.htm. Per capirci: evidenziare con un bel verde leggibile equivale al numero 43.

Buon lavoro.

×

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

Per chi non dovesse utilizzare sistemi server in inglese, l’icona “This PC” altro non è che “Questo computer“. Questa, in via ufficiale, la si può far comparire sul Desktop solo utilizzando il ruolo “Desktop Experience” che puoi aggiungere dal Server Manager. In realtà non è proprio così, funziona un po’ come già spiegato in passato per il CleanMgr non a bordo sistema in maniera predefinita. Anche stavolta un semplice trucco ti permetterà di raggiungere l’obiettivo senza necessità di portarti dietro null’altro.

Win10Clean.ps1: uno script PowerShell per fare pulizia su Windows 10 1

Windows 2012 R2

Testato su Windows 2012 R2, il metodo deve funzionare senza problemi anche su Windows 2012. Apri un Prompt dei Comandi o, se preferisci, anche solo un Run (tasto Windows + R), quindi utilizza questo comando per far comparire la finestra che ti permetterà di selezionare le icone da visualizzare sul Desktop:

"%Systemroot%\system32\rundll32.exe" shell32.dll,Control_RunDLL desk.cpl,,0

A questo punto il risultato dovrebbe essere questo:

Windows 2012 R2: mostrare l'icona This PC senza Desktop Experience 1

Ti basterà selezionare le icone desiderate e confermare con OK.

Buon lavoro :-)


fonte: social.technet.microsoft.com/Forums/windowsserver/en-US/ae462bce-1c71-4a36-a0ce-1ef4ad0bc31e/how-to-show-computer-on-desktop?forum=winserver8gen, intervento di GC-Tech.

×

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

Un dominio contenente più unità organizzative, può avere necessità di creare gruppi di sicurezza con all’interno tutti gli utenti di una specifica OU. Per farlo, esiste il classico metodo manuale della ricerca * all’interno della OU → Seleziona tutti → Aggiungi a un gruppo, in alternativa torna utile la PowerShell e qualche riga di codice che ho recuperato da una vecchia discussione su ServerFault.

Creare un gruppo di Active Directory partendo da una OU

Si tratta infatti di un codice molto banale da comprendere e modificare per le proprie esigenze, utile anche per eliminare persone (avviandolo altre volte nel corso del tempo, non necessariamente in maniera manuale) che in quella OU non esistono più, ma che essendoci state in passato erano state precedentemente inserite all’interno del gruppo di sicurezza.

Spiego rapidamente cosa c’è da ritoccare:

  • $groupname (riga 2): dovrai dichiarare il nome del gruppo al quale aggiungere gli utenti della OU mantenendo gli apici e inserendo al loro interno il percorso completo del gruppo (CN/OU/DC).
  • $users (riga 3): modifica anche stavolta ciò che c’è tra gli apici posti dopo il -SearchBase, dichiarando il nome della OU dalla quale prelevare tutti gli utenti presenti nel momento in cui lanci lo script di PowerShell (OU/DC).
  • riga 11: copia dalla riga 3 ciò che hai appena modificato e incollalo tra gli apici che trovi subito dopo il -notlike. Questa condizione servirà a confrontare gli utenti presenti nel gruppo con quelli nella OU. Nel caso in cui un utente non faccia più parte della OU, verrà rimosso anche dal gruppo.

Lo script, che dovrà essere eseguito con diritti amministrativi sul Domain Controller di interesse, non fornisce alcun output di conferma a video. Una volta lanciato svolge il suo mestiere e tu potrai verificare l’effettiva buona riuscita andando ad aprire il gruppo che dovrà essere popolato partendo dalla OU.

Escludere gli utenti disabilitati

Se vuoi, puoi modificare il primo filtro di ricerca (quello relativo a $users) affinché vengano lasciati fuori gli utenti disabilitati. Si va quindi ad agire sulla riga 3:

$users = Get-ADUser -Filter * -SearchBase "OU=Contoso,OU=Utenti,DC=contoso,DC=local"

mettendo al posto dell’asterisco la specifica che permette di catturare solo gli utenti abilitati in dominio, ottenendo così:

$users = Get-ADUser -Filter {Enabled -eq $true} -SearchBase "OU=Contoso,OU=Utenti,DC=contoso,DC=local"

Schedulazione della modifica del gruppo

Rimane sempre valida la possibilità di richiamare uno script di PowerShell passando per le Operazioni Schedulate di Windows, così da mantenere il gruppo di sicurezza sempre aggiornato, in base a chi si trova all’interno della OU interessata. Per farlo, ti basterà creare una nuova attività di base e specificare il minimo indispensabile (riporto le voci in inglese qui di seguito, utilizzo la medesima lingua che generalmente si usa per i Windows Server installati in azienda):

  • Action: Start a program
  • Program/script: C:\Windows\system32\windowspowershell\v1.0\powershell.exe
  • Add arguments (optional): -command C:\scripts\Gruppo_dipendenti.ps1

(dove C:\scripts\Gruppo_dipendenti.ps1 dovrà essere modificato con la reale posizione e nome file assegnato allo script di PowerShell).

Il tutto è stato testato con successo su Windows Server 2012 R2. Per dubbi o suggerimenti, l’area commenti è a tua totale disposizione :-)

Buon lavoro!

Condividi l'articolo con i tuoi contatti: