Powershell in un job MSSQL – Error logging – Gestiamo gli errori con le funzioni standard di SQL

Nella cassetta degli attrezzi di un sistemista che si rispetti non può mancare Powershell.
Io personalmente lo adoro e mi permette di automatizzare molti task sistemistici.

Qui sotto riporto un piccolo esempio per integrare uno script Powershell in un job SQL:

$ErrorActionPreference = "Stop"
try{

QUI IL MIO CODICE O LA CHIAMATA AL MIO PS1  

   }
catch{
   Throw
}

Impostato in questa maniera, siamo in grado di intercettare nel job history di SQL le eventuali eccezioni ed errori del nostro script, cosa molto utile se lo si schedula in orario non lavorativo, con alerting automatico in caso di abend (Abnormal End)

Scarichiamo su una tabella MS-SQL i dati degli utenti Active Directory leggendoli sempre da una tabella

Se fai il sistemista e ti diverti a fare reportistica ed incrociare dati tra gli applicativi aziendali e Active Directory, questo è lo script che fa per te.

Lo script powershell sfrutta i seguenti CMDlet:
DBAtools (https://dbatools.io/)
GetADUSER di Microsoft (https://4sysops.com/wiki/how-to-install-the-powershell-active-directory-module/)

Lo script è stato customizzato per essere configurato facilmente e l’ho creato per le mie esigenze.

In breve lo script:
– Legge una tabella con le utenze AD;
– Crea se non esiste la Tabella coi dati di AD
– Interroga AD e memorizza le info in una nuova tabella

Io metto sempre Integrated Security = True per usare l’identity SQL di chi esegue lo script.

$SQLDB = 'IP DEL DB'
$DB = 'NomeDatabase'
$TABLE = 'Tabella da scrivere'
$TABLESRC = 'Tabella da leggere'

$connString = "Server = " + $SQLDB + "; Database = " + $DB +  "; Integrated Security = True"
$QueryText = "SELECT [UTENZAACTIVEDIRECTORY] FROM " + $DB + ".[dbo]." + $TABLESRC

$SqlConnection = new-object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = $connString
$SqlCommand = $SqlConnection.CreateCommand()

$SqlCommand.CommandText = $QueryText

$DataAdapter = new-object System.Data.SqlClient.SqlDataAdapter $SqlCommand
$dataset = new-object System.Data.Dataset
$DataAdapter.Fill($dataset)

$dataset.Tables[0] | ForEach {

$DataTable = Get-ADUser -identity $_.matricola.Trim() -Properties * |select samaccountname , surname, givenname, mail ,department, enabled |Where-Object {$_.LastLogonDate -ge (get-date).adddays(-400)} | ConvertTo-DbaDataTable
Write-DbaDataTable -SqlInstance $SQLDB -Database $DB -InputObject $DataTable -Table $TABLE -AutoCreateTable
}

Ovviamente è un esempio, con Get-ADUser possono essere fatte centinaia di altre operazioni. Inoltre lo script può essere schedulato su un server, eseguirlo in interattivo o inserirlo in un JOB SQL per un report.

Kodi su Firestick – Canali del Digitale Terrestre

UPDATE 20210922 – Pubblicato il video sul canale Youtube: https://youtu.be/-4pluvobJG0

La Firestick Amazon è una vera e propria rivoluzione copernicana.
Questo articolo illustrerà come installare Kodi e gli addon necessari per vedere i canali del Digitale Terrestre.

La procedura è legale solamente se viene utilizzata per vedere canali in chiaro.

Per prima cosa abilitiamo da impostazioni > La mia Fire TV

Opzioni Sviluppatore

e mettiamo su ON le Applicazioni da fonti sconosciute

La fire chiederà di confermare l’opzione.

Attenzione: L’applicazione che vi indicheremo è abbastanza sicura e collaudata. Installate con giudizio le applicazioni esterne allo store. Una applicazione contenente un componente corrotto o virato potrebbe compromettere la stick!

Una volta abilitata la funzione, andremo ad installare il browser “Downloader” da Applicazioni > Categorie > Utility.

“Downloader” permette di scaricare da internet facilmente file sulla firestick

Terminata l’installazione dobbiamo lanciare la APP tramite la Homepage di FireStick

Aperta la mappa del software va cliccando sul campo di input

inseriremo l’indirizzo http://www.kodi.tv/download

Quando la pagina si caricherà sulla pagina richiesta

Va cercato il link della applicazione per Android

e scaricata la versione per ARM a 32 bit

una volta scaricato il file, partirà automaticamente l’installer

Scorrendo sulla mappa, apparirà il tasto Install

Premendolo partirà la vera e propria installazione. Una volta terminata l’installazione, sarà possibile aprire Kodi.

Lanciato Kodi, va aperta la mappa delle impostazioni per aggiungere una fonte da cui scaricare gli Add-ons

clicchiamo su File Manager

e su Add Source

Dalla mappa Add File Source va cliccato su <None>

inserito l’indirizzo https://worldlivetv.github.io/repo

e dato un nome parlante alla sorgente nel campo Enter a name for this media source

Aggiunta la Source, va selezionato Add-ons

selezionato Install from zip file

per motivi di sicurezza, l’installazione di add-ons esterni è inibito.
Va modificato il parametro premendo il tasto Settings

sotto Add-ons va abilitato Unknown source

Dato che andremo ad inserire un add-on sicuro, premere si.

Tornato sulla mappa, selezioneremo il repository con il nome parlante indicato su Add File Source

e scaricheremo/installeremo il file ZIP.

Quando apparirà il popup

Sara possibile accedere da Add-ons al repository di WorldLive TV

Da qui, da Video Add-ons

Dovremo selezionare World Live TV Helper

ed installarlo.

Terminata l’installazione, Kodi ci informerà con un popup che il componente richiesto è stato installato.

Selezioniamo poi dalla homepage di Kodi Add-ons

Video Add-ons

World Live TV Helper

Selezioniamo Select List

e procediamo con l’installazione dell’ultimo componente necessario, il PVR IPTV Simple Client indispensabile per avere l’elenco dei canali sulla voce TV della Homepage

Infine, dobbiamo selezionare dall’elenco FTA

Una volta installato tutto, sarà possibile goderci i canali del Digitale terrestre senza dover usare un decoder o una antenna tv

Enjoy!

tommy@madlabs.org