Archivi categoria: Programming Languages

Mappare disco di rete in PowerShell

Oltre al semplice NET USE, in PowerShell è possibile usare il ComObject “WScript.Network” per gestire la mappatura di un disco di rete (map network drive).

Questo semplice script serve per mappare un disco di rete e per rimuovere la mappatura:

Write-Host "] Mapping Network Drive . . ."

# Credentials
$serverName = 'TESTPC01'
$userName = 'TESTPC01\Administrator'
$serverPwdSec = Read-Host -assecurestring "] Server password" # Ask for the user password
$serverPwd = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($serverPwdSec))

$network = New-Object -ComObject WScript.Network

try {
    # Previous method: NET USE T: \\$serverName\folderTest /USER:$userName $serverPwd
    $network.MapNetworkDrive("T:", "\\$serverName\folderTest", $false, "$userName", "$serverPwd")
    # $network.MapNetworkDrive("T:", "\\$serverName\folderTest") # Without credential
    Write-Host "] Network Drive mapped!`n" -BackgroundColor Green -ForegroundColor Black;
} catch {
    Write-Host "[An error occurred in drive mapping!]" -BackgroundColor Red -ForegroundColor Black;
    Write-Host "[Error message:" $_.Exception.Message "`n" -BackgroundColor Red -ForegroundColor Black;
}
Write-Host "] Remove Network Drive . . ."

try {
    $network.RemoveNetworkDrive("T:")
    # Previous method: NET USE T: /delete
} catch {
    Write-Host "[An error occurred in drive unmapping!]`n" -BackgroundColor Red -ForegroundColor Black;
}

Inviare email con Outlook in PowerShell

Questa funzione in Powershell permette di inviare e-mail tramite Outlook (che deve essere in esecuzione).

E’ basata sullo script presente su: http://www.andyparkhill.co.uk/2010/08/send-outlook-email-via-powershell.html a cui ho effettuato delle modifiche per l’invio dell’email a più destinatari e per l’invio degli allegati.

function Send-Email (
    [String[]]$recipientEmail = $(Throw "At least one recipient email is required!"),
    [String]$subject = $(Throw "An email subject header is required!"),
    [String]$body,
    [String]$attachment
) {
    $outlook = New-Object -comObject Outlook.Application
    $mail = $outlook.CreateItem(0)
    $recipientEmail | ForEach-Object { $mail.Recipients.Add($_) } | Out-Null
    $mail.Subject = $subject
    $mail.Body = $body

    # For HTML encoded emails
    # $mail.HTMLBody = "<HTML><HEAD>Text<B>BOLD</B>  <span style='color:#E36C0A'>Color Text</span></HEAD></HTML>"

    if ($attachment.Length -ne 0) {
        $mail.Attachments.Add($attachment) # | Out-Null
    }

    $mail.Send()
    # Write-Host "] Email sent!" -BackgroundColor Green -ForegroundColor Black;
}
# Main Script Body

Write-Host "] Start sending mail via Outlook . . ."

[String[]]$recipientEmail = 'mail_1@domain.test','mail_2@domain.test','mail_N@domain.test'
$subject = "This is a test"
$body = "Test test test" # Optional
$attachment = "C:\Temp\test.txt" # Optional

if (Test-Path $attachment) {
    Send-Email -recipientEmail $recipientEmail -subject $subject -body $body -attachment $attachment
}
else {
    Send-Email -recipientEmail $recipientEmail -subject $subject -body $body
}
# End of Script Body

Installare SQLite su Ubuntu

Per installare SQLite su Ubuntu, aprire semplicemente il Gestore pacchetti Synaptic (Sistema -> Amministrazione -> Gestore pacchetti) e installare “sqlite3” e “libsqlite3-dev”.

Oppure aprire una shell e dare il comando:

# sudo apt-get install sqlite3 libsqlite3-dev

Se occorre anche il modulo per php5, aggiungere dal Gestore pacchetti anche “php5-sqlite”.

Oppure da shell:

# sudo apt-get install php5-sqlite

Ricordarsi di riavviare Apache2:

# sudo /etc/init.d/apache2 restart

Per creare un database:

$ sqlite3 test.db
SQLite version 3.6.16
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .quit
$

Libri per sviluppare applicazioni Android

Segue una lista di libri per imparare a sviluppare su Android con i miei commenti. Sono tutti in lingua inglese tranne l’ultimo.

  • Rogers; Lombardo; Mednieks. Android Application Development: Programming with the Google SDK. O’Reilly Media. 2009 [L’ho letto e mi sono trovato molto bene. Lo consiglio per chi sta cominciando la sua avventura su Android].
  • Reto Meier. Professional Android 2 Application Development. Wrox Press. 2010. [E’ la versione aggiornata di “Professional Android Application Development”. Quest’ultimo è stato il primo che ho letto. Lo consiglio a chi non è alle prime armi perché mi è sembrato un po’ più “difficile” del primo della lista però copre più argomenti]
  • Mark Lawrence Murphy. The Busy Coder’s Guide to Android Development. CommonsWare. [Me ne hanno parlato molto bene; io gli ho dato solo uno sguardo. Si trova anche in forma cartacea, ma se acquistato online in formato digitale, si riceveranno anche: The Busy Coders Guide to Advanced Android Development (che è una guida più avanzata), Android Programming Tutorials (che contiene numerosi esempi) e in più tutti gli aggiornamenti per un anno.
  • Carli Massimo. Android. Guida per lo sviluppatore. Apogeo. 2010. [L’ho scoperto da poco e, se non erro, per ora è l’unico libro in italiano disponibile]

Nota:

[01] Altre risorse (Link, Gruppi,..) su Android le ho scritte a questo indirizzo:
https://gabrielecaracciolo.com/risorse-android/

XML Useful links

Official XML specification, from W3C (Worl Wide Web Consortium)

XML docs and resources

DTD

XML Editors