Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usare l'estensione di gestione Microsoft Intune per caricare gli script di PowerShell in Intune. Quindi, esegui questi script nei dispositivi Windows. L'estensione di gestione migliora MDM e semplifica il passaggio a una gestione moderna.
Nota
Per informazioni sull'estensione di gestione di Intune per Windows, vedere Estensione di gestione di Intune per Windows.
Prima di iniziare
Gli script impostati sul contesto utente con diritti di amministratore eseguono PowerShell per impostazione predefinita con privilegi di amministratore.
Gli utenti finali non sono tenuti ad accedere al dispositivo per eseguire gli script di PowerShell.
L'estensione di gestione di Intune controlla dopo ogni riavvio la presenza di nuovi script o modifiche. Dopo aver assegnato il criterio ai gruppi di Microsoft Entra, viene eseguito lo script PowerShell e vengono riportati i risultati dell'esecuzione. Una volta eseguito, lo script non viene eseguito di nuovo a meno che non venga apportata una modifica allo script o ai criteri. Se lo script ha esito negativo, l'estensione gestione Intune ripete tre volte lo script per le successive tre archiviazioni consecutive dell'estensione gestione Intune.
Gli script di PowerShell assegnati al dispositivo vengono eseguiti per ogni nuovo utente che accede, ad eccezione delle SKU multisessione in cui il check-in dell'utente è disabilitato.
Gli script di PowerShell vengono eseguiti prima dell'esecuzione delle app Win32. In altre parole, gli script di PowerShell vengono eseguiti per primi. Quindi, le app Win32 vengono eseguite.
Gli script di PowerShell scadono dopo 30 minuti.
Importante
Le procedure consigliate per la consapevolezza della privacy quando si usano script di PowerShell e script di correzione includono:
- Non includere alcun tipo di informazione riservata negli script (ad esempio le password)
- Non includere dati personali negli script
- Non usare script per raccogliere dati personali dai dispositivi
- Segui sempre le procedure consigliate per la privacy
Per informazioni correlate, vedere Correzioni.
Prerequisiti
- L'estensione di gestione di Intune viene installata automaticamente quando un'app script di PowerShell viene assegnata all'utente o al dispositivo. Per ulteriori informazioni, vedere Estensione di gestione di Intune per Windows.
Importante
Gli script distribuiti ai client che eseguono l'estensione di gestione di Intune non vengono eseguiti se l'orologio di sistema del dispositivo non è aggiornato di mesi o anni. Una volta aggiornato l'orologio di sistema, lo script viene eseguito come previsto.
Creare e assegnare un criterio di script
Accedere all'Interfaccia di amministrazione di Microsoft Intune.
Script dellapiattaforma> di selezione dei dispositivi>Aggiungi>>:Windows 10 e versioni successive.
In Informazioni di base immettere le proprietà seguenti e selezionare Avanti:
- Nome: immettere un nome per lo script di PowerShell.
- Descrizione: immettere una descrizione per lo script di PowerShell. Questa impostazione è facoltativa ma consigliata.
In Impostazioni script immettere le proprietà seguenti e selezionare Avanti:
Percorso dello script: passare allo script di PowerShell. Lo script deve essere inferiore a 200 KB (ASCII).
Eseguire questo script usando le credenziali di accesso: Selezionare Sì (impostazione predefinita) per eseguire lo script con le credenziali dell'utente nel dispositivo. Scegli No per eseguire lo script nel contesto di sistema. Molti amministratori scelgono Sì. Se lo script deve essere eseguito nel contesto di sistema, scegliere No.
Applica controllo firma script: selezionare Sì (impostazione predefinita) se lo script deve essere firmato da un autore attendibile. Selezionare No se non è necessario che lo script sia firmato.
Esegui script nell'host di PowerShell a 64 bit: selezionare Sì per eseguire lo script in un host di PowerShell a 64 bit in un'architettura client a 64 bit. Selezionare No (impostazione predefinita) esegue lo script in un host di PowerShell a 32 bit.
Quando si imposta su Sì o No, usare la tabella seguente per il comportamento dei criteri nuovi ed esistenti:
Eseguire lo script in un host a 64 bit Architettura client Nuovo script Script dei criteri esistente No 32 bit Host PowerShell a 32 bit supportato Funziona solo in host PowerShell a 32 bit, che funziona su architetture a 32 bit e a 64 bit. Sì 64 bit Esegue lo script nell'host PowerShell a 64 bit per architetture a 64 bit. Se eseguito su 32 bit, lo script viene eseguito in un host PowerShell a 32 bit. Esegue lo script nell'host PowerShell a 32 bit. Se questa impostazione cambia a 64 bit, lo script si apre (non viene eseguito) in un host PowerShell a 64 bit e segnala i risultati. Se eseguito su 32 bit, lo script viene eseguito nell'host PowerShell a 32 bit.
Selezionare Tag ambito. I tag di ambito sono facoltativi. Usa il controllo di accesso basato sui ruoli e i tag degli ambiti per l'IT distribuito ha più informazioni.
Per aggiungere un tag di ambito:
Scegliere Seleziona tag> di ambito, selezionare un tag di ambito esistente nell'elenco >Seleziona.
Al termine, selezionare Avanti.
Selezionare le attività Selezionare i>gruppi da includere. Viene visualizzato un elenco esistente di gruppi di Microsoft Entra.
Selezionare uno o più gruppi che includono gli utenti i cui dispositivi ricevono lo script. Scegliere Seleziona. I gruppi scelti vengono visualizzati nell'elenco e ricevono i criteri.
Nota
Gli script di PowerShell in Intune possono essere destinati ai gruppi di sicurezza dei dispositivi di Microsoft Entra o ai gruppi di sicurezza degli utenti di Microsoft Entra. Tuttavia, quando vengono assegnati dispositivi aggiunti all'area di lavoro (WPJ), è possibile usare solo i gruppi di sicurezza dei dispositivi di Microsoft Entra (la destinazione utente viene ignorata).
Seleziona Avanti.
In Rivedi + Aggiungi viene visualizzato un riepilogo delle impostazioni configurate. Selezionare Aggiungi per salvare lo script. Quando si seleziona Aggiungi, il criterio viene distribuito ai gruppi scelti.
Scenario: errore di esecuzione dello script
Ore 8
- Archiviare
- Eseguire lo script ConfigScript01
- Lo script non riesce
Ore 9
- Archiviare
- Eseguire lo script ConfigScript01
- Lo script non riesce (numero di tentativi = 1)
Ore 10
- Archiviare
- Eseguire lo script ConfigScript01
- Lo script non riesce (numero di tentativi = 2)
Ore 11
- Archiviare
- Eseguire lo script ConfigScript01
- Lo script non riesce (numero di tentativi = 3)
Ore 12
- Archiviare
- Non vengono eseguiti altri tentativi di esecuzione dello script ConfigScript01.
- Se non vengono apportate altre modifiche allo script, non vengono eseguiti altri tentativi per eseguire lo script.
Monitorare lo stato di esecuzione
È possibile monitorare lo stato di esecuzione degli script di PowerShell per utenti e dispositivi nel portale.
Negli script di PowerShell selezionare lo script da monitorare, scegliere Monitora e quindi scegliere uno dei report seguenti:
- Stato del dispositivo
- Stato utente
Nota
Le esportazioni dello stato del dispositivo dall'interfaccia di amministrazione di Intune per gli script della piattaforma ora usano l'API di esportazione di Intune e i nomi delle colonne CSV sono allineati allo schema API.
Eliminare uno script
Negli script di PowerShell fare clic con il pulsante destro del mouse sullo script e scegliere Elimina.
Problemi noti e risoluzioni
Problema: gli script di PowerShell non vengono eseguiti
Risoluzioni possibili:
Gli script di PowerShell non vengono eseguiti a ogni accesso. Seguono:
Quando lo script viene assegnato a un dispositivo
Se modifichi lo script, caricalo e assegnalo a un utente o a un dispositivo
Consiglio
L'estensione di gestione di Microsoft Intune è un servizio che viene eseguito nel dispositivo, proprio come qualsiasi altro servizio elencato nell'app Servizi (services.msc). Dopo il riavvio di un dispositivo, questo servizio potrebbe riavviarsi e verificare la presenza di eventuali script PowerShell assegnati con il servizio Intune. Se il servizio di estensione gestione di Microsoft Intune è impostato su Manuale, il servizio potrebbe non essere riavviato dopo il riavvio del dispositivo.
Assicurati che i dispositivi siano collegati a Microsoft Entra ID. I dispositivi registrati solo con la tua azienda o organizzazione in Microsoft Entra ID non ricevono gli script.
Verificare che l'estensione di gestione di Intune sia stata scaricata in
%ProgramFiles(x86)%\Microsoft Intune Management Extension.Gli script non vengono eseguiti in Surface Hub o Windows in modalità S.
Esamina i log per verificare la presenza di eventuali errori. Vedere i log dell'estensione di gestione di Intune (in questo articolo).
Per possibili problemi di autorizzazione, assicurarsi che le proprietà dello script di PowerShell siano impostate su
Run this script using the logged on credentials. Verificare anche che l'utente connesso disponga delle autorizzazioni appropriate per eseguire lo script.Per isolare i problemi di scripting, è possibile:
Rivedere la configurazione di esecuzione di PowerShell nei dispositivi. Per indicazioni, vedere i criteri di esecuzione di PowerShell .
Eseguire uno script di esempio usando l'estensione di gestione Intune. Ad esempio, creare la directory e dare a
C:\Scriptstutti il pieno controllo. Eseguire lo script seguente:write-output "Script worked" | out-file c:\Scripts\output.txtSe l'operazione ha esito positivo, output.txt dovrebbe essere creata e dovrebbe includere il testo "Script ha funzionato".
Per testare l'esecuzione degli script senza Intune, eseguire gli script nell'account di sistema usando lo strumento psexec in locale:
psexec -i -sSe lo script segnala che l'operazione è riuscita, ma in realtà non ci è riuscita, è possibile che il servizio antivirus stia eseguendo il sandboxing di AgentExecutor. Lo script seguente segnala sempre un errore in Intune. Come test, puoi usare questo script:
Write-Error -Message "Forced Fail" -Category OperationStopped mkdir "c:\temp" echo "Forced Fail" | out-file c:\temp\Fail.txtSe lo script ha esito positivo, esaminare per verificare l'output dell'errore
AgentExecutor.log. Se lo script viene eseguito, la lunghezza dovrebbe essere >2.Per acquisire i
.errorfile and.output, il frammento seguente esegue lo script tramite AgentExecutor a PowerShell x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). Conserva i log per la tua revisione. Tenere presente che l'estensione di gestione di Intune pulisce i log dopo l'esecuzione dello script:$scriptPath = read-host "Enter the path to the script file to execute" $logFolder = read-host "Enter the path to a folder to output the logs to" $outputPath = $logFolder+"\output.output" $errorPath = $logFolder+"\error.error" $timeoutPath = $logFolder+"\timeout.timeout" $timeoutVal = 60000 $PSFolder = "C:\Windows\SysWOW64\WindowsPowerShell\v1.0" $AgentExec = "C:\Program Files (x86)\Microsoft Intune Management Extension\agentexecutor.exe" &$AgentExec -powershell $scriptPath $outputPath $errorPath $timeoutPath $timeoutVal $PSFolder 0 0
Problema: perché gli script vengono eseguiti anche se Windows non è più gestito?
Quando un dispositivo Windows con script assegnati non viene più gestito, l'IME non viene rimosso immediatamente. L'IME rileva che Windows non è gestito alla successiva archiviazione IME (in genere ogni 8 ore) e annulla l'esecuzione degli script. Nel frattempo, è possibile eseguire tutti gli script archiviati localmente. Quando l'IME non è in grado di eseguire l'archiviazione, riprova l'archiviazione per un massimo di 24 ore (ora di inattività del dispositivo) e quindi si rimuove dal dispositivo Windows.
Passaggi successivi
Monitorare i profili e risolverne i problemi .