Archive for the ‘Windows’ Category

Errore VLC: Questo disco Blu-Ray richiede una libreria per la decodifica AACS

Monday, May 7th, 2012

Stavo provando ad aprire con VLC un disco Blu-Ray, ma, appena avviato, mi è comparso il seguente errore:

Errore Blu-Ray:
Questo disco Blu-Ray richiede una libreria per la decodifica AACS

Errore libreria per la decodifica AACS VLC

Per risolvere il problema ho fatto numerosi tentativi che ho trovato in rete, ma nessuno di questi ha avuto successo:

…niente da fare.

La supposizione che si trattava di un problema di protezione dei Blu-Ray mi ha portato sulla buona strada, ma, per il momento, mi sono dovuto accontentare di un piccolo workaround:

  • ho installato il programma AnyDVD HD (purtroppo è una versione di prova da 21 giorni), che, come dice il sito “Rimuove la protezione dagli Blu-ray media (AACS)”
  • l’ho avviato
  • dopodiché, aprendo il Blu-Ray da VLC (o dal neo-installato MPC), non ha dato nessun errore.

Vi sarei davvero grato, nel caso trovaste una soluzione definitiva, di lasciarmi un commento. Grazie.

 

Abilitare Desktop Remoto da remoto

Sunday, March 11th, 2012

Esigenza: abilitare il desktop remoto di un pc da remoto.

Sistema Operativo del PC su cui abilitare il Desktop Remoto: Windows XP Pro.

Sistema Operativo del PC da cui è stata effettuato il test: Windows (la versione è irrilevante).

Prerequisito: avere un’utenza di amministrazione della macchina remota.

Passi svolti:

  1. Aprire regedit (Start -> digitare “regedit (senza virgolette) nel campo di ricerca oppure nel caso di Windows XP: Start -> Esegui… -> digitare “regedit“. Premere invio.
  2. Andare su “File” -> “Connetti a registro di sistema in rete…”.Regedit
  3. Nella finestra che si apre, inserire il nome del PC a cui si vuole attivare il desktop remoto e premere il tasto “Controlla nomi“. Comparirà una finestra in cui immettere le credenziali dell’utente. Inserirle e premere OK. Premere ancora OK.Seleziona Computer
  4. A questo punto si vedrà il PC remoto all’interno di regedit (sotto il computer locale (“Computer”). Sull’alberatura di sinistra andare su: HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Control -> Terminal Server e, a destra, posizionarsi sulla chiave “fDenyTSConnections“.fDenyTSConnections
  5. Tasto destro sulla chiave “fDenyTSConnections” -> “Modifica…” (oppure doppio click sulla chiave). Modificare il valore da “1″ (disabilitato) a “0” (abilitato) (senza virgolette) e premere “OK”. Chiudere regedit.
  6. Ora attivare il firewall del pc remoto affinché lasci passare la connessione Desktop Remoto (porta 3389 TCP). Per fare ciò mi sono servito della una preziosa utility PsExec [3] contenuta nel pacchetto PsTools che si può scaricare dal link qui sotto [4]. Una volta scaricato estrarre PsExec.exe in C:\Windows\System32\ affinché possa essere eseguito da qualsiasi prompt dei comandi (si può anche scompattare il file in qualsiasi cartella ed eseguirlo da lì).
  7. Aprire un prompt dei comandi e lanciare:
    psexec \\pc_remoto -u utenteAdmin -p passwordAdmin netsh firewall set service remoteadmin enable

    N.B.: le opzioni -u e -p permettono di inserire l’utente e la password. Attenzione: se specificate l’opzione -p, la password viene scritta in chiaro. Se la omettete, vi verrà chiesta interattivamente.

    PsExec
  8. A questo punto lanciare la connessione desktop remoto. Si può digitare “mstsc” (senza virgolette) dallo stesso prompt dei comandi usato in precedenza oppure si può prendere da Start -> Tutti i Programmi -> Accessori -> Connessione Desktop Remoto (su Windows XP: Start -> Tutti i Programmi -> Accessori -> Comunicazioni -> Connessione Desktop Remoto).
  9. Inserire il nome o l’IP della macchina remota e premere “Connetti”.

Link utili

  • [1] Remote Desktop Connection FAQ
  • [2] Sysinternals
  • [3] PsExec: “Utilities like Telnet and remote control programs like Symantec’s PC Anywhere let you execute programs on remote systems, but they can be a pain to set up and require that you install client software on the remote systems that you wish to access. PsExec is a light-weight telnet-replacement that lets you execute processes on other systems, complete with full interactivity for console applications, without having to manually install client software [...]“
  • [4] PsTools

 

Mappare disco di rete in PowerShell

Tuesday, February 14th, 2012

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

Tuesday, February 14th, 2012

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

Conoscere marca e modello PC – Make e Model (per MDT WDS)

Saturday, August 27th, 2011

Alle prese con MDT (Microsoft Deployment Toolkit) [1] e WDS (Windows Deployment Services) [2], in particolare con l’aggiunta dei driver, mi sono chiesto come recuperare marca (“make“) e modello (“model“) da un PC.

Googlando un po’ ho trovato questi due comandi:

> wmic csproduct get vendor

e

> wmic csproduct get name

Note

[1] MDT
[2] WDS