Esaminare la funzionalità di comunicazione remota implicita in Windows PowerShell
Uno dei problemi in corso nello spazio di gestione di Windows è la mancata corrispondenza della versione. Ad esempio, Windows Server 2019 e 2022 includono molti nuovi comandi di Windows PowerShell. È possibile rendere disponibili questi comandi in Windows 10 o in Windows 11 come parte degli Strumenti di amministrazione remota del server. Tuttavia, potrebbe non essere possibile usare lo stesso approccio con le versioni precedenti di Windows.
È necessario conoscere gli altri problemi in corso se di recente si è dovuta ricompilare una workstation. Il problema è la quantità di tempo necessaria per tenere traccia e installare gli strumenti di amministrazione e Microsoft Management Console (MMC) in un computer. Supponendo che siano tutti compatibili con le versioni di Windows, l'installazione da sola può richiedere giorni.
Questi problemi portano gli amministratori a rinunciare all'installazione degli strumenti nelle workstation e, invece, ad accedere direttamente agli strumenti nel server tramite Desktop remoto Microsoft. Tuttavia, questa non è una buona soluzione perché fa in modo che il server debba essere un client, offrendo contemporaneamente servizi a centinaia o migliaia di utenti. L'avvento di Server Core, a cui manca un'interfaccia utente grafica (GUI), mirava in parte a migliorare le prestazioni dei server e richiedeva un numero inferiore di aggiornamenti. Tuttavia, ciò significa anche che i server non possono eseguire strumenti GUI e MMC.
La comunicazione remota implicita porta gli strumenti all'utente
La comunicazione remota implicita rende disponibile una copia degli strumenti di Windows PowerShell di un server nel computer locale. In realtà, l'utente non copia i comandi, ma crea un tipo di collegamento, denominato funzione proxy, ai comandi del server. Quando esegue i comandi nel computer locale, questi vengono eseguiti in modo implicito nel server tramite comunicazione remota. I risultati vengono quindi inviati all'utente. Esattamente come se per l'esecuzione fosse stato usato Invoke-Command, ma è molto più conveniente. I comandi vengono eseguiti anche più rapidamente, perché nel server si trovano nello stesso luogo in cui si trovano la funzionalità e i dati del server.
Uso della comunicazione remota implicita
Quando la comunicazione remota implicita è diventata disponibile in Windows PowerShell 2.0, è diventato molto più semplice usarla a partire da Windows PowerShell 3.0. Basta creare una sessione nel server contenente il modulo che si vuole usare. Quindi, usando Import-Module e il relativo parametro –PSSession, si importa il modulo desiderato. I comandi in tale modulo e anche i relativi file della Guida diventano disponibili nella sessione di Windows PowerShell locale.
Con la comunicazione remota implicita, è possibile aggiungere un prefisso al sostantivo dei comandi importati. In questo modo è molto più semplice, ad esempio, avere più versioni degli stessi comandi caricati simultaneamente senza causare una collisione di denominazione. Ad esempio, se si importano sia i comandi di Microsoft Exchange Server 2016 che quelli di Exchange Server 2019, è possibile aggiungere il prefisso 2016 e 2019 a ognuno di essi, rispettivamente. Ciò consente all'utente di eseguire entrambi i set di comandi. In realtà, ognuno di essi verrebbe eseguito nei rispettivi server, consentendo agli utenti di eseguire entrambi i set affiancati, probabilmente in uno scenario di migrazione.
L'opzione Guida funziona anche per i comandi in esecuzione tramite la comunicazione remota implicita. Tuttavia, i file della Guida vengono emessi tramite la stessa sessione di comunicazione remota dei comandi stessi. Pertanto, il computer remoto deve avere una copia aggiornata dei relativi file della Guida. Questo può essere un problema sui server perché questi ultimi potrebbero non essere usati di frequente e non avere eseguito Update-Help di recente per mostrare i file della Guida più recenti.