Vai al contenuto

WindowsLab

WindowsLab è un modulo PowerShell (1) pensato e sviluppato per semplificare la gestione di un laboratorio informatico (2) dotato di PC funzionanti con Sistema Operativo Windows (10 o 11) e tutti connessi alla stessa rete LAN.

  1. ✍ Powershell è l'evoluzione di MsDos, un comado in powershell viene anche detto cmdlet (si pronuncia commandlet).

  2. ✍ Un laboratorio informatico (Lab) può essere un qualunque gruppo di computer non necessariamente collocati nella stessa aula.

Il modulo fornisce comandi per:

  • Avviare, riavviare e spegnere i PC tutti insieme.
  • Aggiornare da internet data e ora di tutti i PC.
  • Creare e rimuovere account generici. (1)

    1. ✍ un account generico è un account locale presente su tutti i PC del Lab con lo stesso nome-utente (per es. Studente) e la stessa password.
  • Cambiare la password degli account generici.

  • Disconnettere tutti utenti su tutti i PC.
  • Inviare un file a tutti i PC .

Terminologia

Comprendendo questi termini ti risulterà semplice usare il modulo.

AdminPC
è il PC utilizzato dall'amministratore per la gestione del laboratorio, è uno solo.
LabPC
è uno dei PC utilizzati dagli studenti (o dagli ospiti del lab), i LabPC hanno caratteristiche hardware e software simili.
LabAdmin
è l'account locale dell'amministratore presente sia sull'AdminPC che su ogni LabPC, ha lo stesso nome-utente password su tutti i PC.
LabUser
è un account generico per l'ospite del laboratorio presente su ogni LabPC, possono essere più di uno solitamente con nomi utente Studente, Alunno, Docente, etc.

Nota

Oltre agli account LabAdmin e LabUser può esserci qualunque altro tipo di account. Per es. possono esserci account personali degli alunni o l'account di un altro amministratore con mansioni diverse.

Preparazione del Laboratorio

Prima di installare WindowsLab, devi creare manualmente l'account LabAdmin sia sull'AdminPC che su ogni LabPC, con lo stesso nome-utente e password, e dargli i privilegi di amministratore. Io come nome-utente metto proprio LabAdmin ma puoi scegliere il nome-utente che preferisci.

Se non l'hai già fatto cambia il nome dei LabPC (1) numerandoli, per es. PC01, PC02, PC03, etc., non è strettamente necessario ma ti risulterà molto più semplice gestire il laboratorio.

  1. ✍ il nome del LAbPC consente di identificare il PC in una rete. Puoi cambiarlo dalle impostazioni di Windows oppure con il comando Rename-Computer -NewName PC01

Successivamente:

  1. Accedi a ogni account LabAdmin ed eseguire questi tre passaggi:

    • Installare PowerShell 7 o superiore. (1)

      1. ✍ Su Windows è preinstallata la versione 5 chiamata Windows Powershell (logo chiaro Image title). WindowsLab ha bisogno della versione 7 o superiore (logo scuro Image title).
    • Impostare la rete su "Privata" nelle impostazioni di Windows.

    • Aprire PowerShell come Amministratore e lanciare: Enable-PSRemoting
  2. Soltanto sull'AdminPC oltre ai tre passaggi del punto 1), eseguire il comando:

    Set-Item -Path WSMan:\localhost\client\TrustedHosts -Value *
    

Nota

Puoi scaricare lo script GettingLabReady.ps1 ed eseguirlo sia sull'AdminPC che su ogni LabPC per automatizzare i tre passaggi descritti al punto 1.

  • Apri Windows Powershell come amministratore.
  • Vai nella directory dove hai scaricato GettingLabReady.ps1
  • Lancia lo script così
    powershell -ExecutionPolicy Bypass -File GettingLabReady.ps1
    

Avvertenza

Sei responsabile di assicurarti che l'AdminPC sia in un luogo protetto, con una password robusta e segreta per l'account LabAdmin.

Installazione del Modulo

WindowsLab dipende dal modulo NtpTime per prendere l'ora da internet, va installato assieme al modulo WindowsLab solo sull'AdminPC:

  1. Accedi con l'account LabAdmin.
  2. E lancia:

    Install-Module -Name NtpTime
    
    Install-Module -Name WindowsLab
    

  3. Chiudi e riapri il terminale, quindi lancia:

    Get-Command -Module WindowsLab
    

    Vedrai un elenco delle cmdlet disponibili nel modulo.

A questo punto puoi lanciare le cmdlet per gestire il tuo laboratorio.

Panoramica delle Cmdlet

Disconnect-User
Disconnette qualunque utente attivo sui tutti LabPC.
Deploy-Item
Invia un file o una cartella sul Desktop del LabUser specificato di tutti i LabPC.
New-LabUser
Crea un nuovo utente locale (LabUser) su tutti i LabPC.
Remove-LabUser
Rimuove un utente locale (LabUser) da tutti i LabPC.
Set-LabUser
Imposta una nuova password per un LabUser su tutti i LabPC. Può anche impostarne i privilegi.
Start-LabPc

Avvia i LabPC tutti insieme se supportano il WoL. (1)

  1. ✍ WoL (Wake-on-LAN) è uno standard per l'accensione remota di PC tramite Ethernet cablata. Esiste anche il WoWLAN (Wake on Wireless LAN) ma per la sua maggiore affidabilità, sicurezza e più ampio supporto hardware è preferibile il WoL. Start-LabPC usa il WoL, verifica nel BIOS/UEFI dei LabPC se il WoL è supportato ed eventualmente abilitalo.
Stop-LabPc
Spegne o riavvia i LabPC tutti insieme. Può impostare lo spegnimento automatico di tutti i LabPC a una data ora di ogni giorno.
Sync-LabPcDate
Sincronizza data e ora su tutti i LabPC, prende l'ora da internet.
Test-LabPcPrompt
Verifica se i LabPC sono pronti ad accettare comandi dall'AdminPC.
Set-LabPcName
Apre una finestrella dove è possibile inserire e salvare i nomi dei LabPC. Questi nomi servono alle cmdlet per identificare tutti i LabPC del laboratorio.
Show-LabPcMac
Cerca e visualizza gli indirizzi MAC di tutti i LabPC, evidenziando eventuali incongruenze o errori.

Come Funziona

WindowsLab si basa sulla tecnologia chiamata remoting PowerShell, che permette di eseguire comandi sui LabPC da remoto come se fossi fisicamente lì. Quando una cmdlet viene lanciata sul AdminPC, viene eseguita sui LabPC e i risultati tornano indietro all'AdminPC.