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.
Il 14 ottobre 2025 Windows 10 raggiunto la fine del supporto e non riceverà aggiornamenti di qualità e funzionalità. Windows 10 è una versione consentita in Intune. I dispositivi che eseguono questa versione possono comunque registrarsi in Intune e usare le funzionalità idonee, ma le funzionalità non saranno garantite e possono variare.
Usare l'estensione di gestione di Microsoft Intune per caricare gli script di PowerShell in Intune. Eseguire quindi questi script nei dispositivi Windows. L'estensione di gestione migliora la gestione MDM e semplifica il passaggio alla 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.
Agli utenti finali non è richiesto di accedere al dispositivo per eseguire script di PowerShell.
L'estensione di gestione di Intune verifica la presenza di nuovi script o modifiche dopo ogni riavvio. Dopo aver assegnato i criteri ai gruppi Microsoft Entra, viene eseguito lo script di PowerShell e vengono segnalati i risultati dell'esecuzione. Una volta eseguito, lo script non viene eseguito di nuovo, a meno che non sia presente una modifica nello script o nei criteri. Se lo script ha esito negativo, l'estensione di gestione di Intune ritenta lo script tre volte per le successive tre archiviazioni consecutive dell'estensione di gestione di Intune.
Gli script di PowerShell assegnati al dispositivo vengono eseguiti per ogni nuovo utente che esegue l'accesso, ad eccezione degli SKU a più sessioni in cui l'archiviazione utente è disabilitata.
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.
Timeout degli script di PowerShell dopo 30 minuti.
Importante
Le procedure consigliate per il riconoscimento della privacy quando si usano script di PowerShell e script di correzione includono:
- Non includere alcun tipo di informazioni riservate negli script (ad esempio le password)
- Non includere dati personali negli script
- Non usare script per raccogliere dati personali dai dispositivi
- Seguire 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 di script di PowerShell viene assegnata all'utente o al dispositivo. Per altre 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 è estremamente obsoleto per mesi o anni. Dopo aver aggiornato l'orologio di sistema, lo script viene eseguito come previsto.
Creare un criterio script e assegnarlo
Accedere all'Interfaccia di amministrazione di Microsoft Intune.
Selezionare Script dei dispositivi>e correzioni>Script> della piattaformaAggiungi>Windows 10 e versioni successive.
In Nozioni 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. Scegliere No per eseguire lo script nel contesto di sistema. Molti amministratori scelgono Sì. Se lo script è necessario per l'esecuzione nel contesto di sistema, scegliere No.
Imponi controllo firma script: selezionare Sì (impostazione predefinita) se lo script deve essere firmato da un autore attendibile. Selezionare No se non esiste un requisito per la firma dello script.
Eseguire script nell'host PowerShell a 64 bit: selezionare Sì per eseguire lo script in un host PowerShell a 64 bit in un'architettura client a 64 bit. Selezionare No (impostazione predefinita) esegue lo script in un host PowerShell a 32 bit.
Quando si imposta su Sì o No, usare la tabella seguente per il comportamento dei criteri nuovi ed esistenti:
Eseguire script nell'host a 64 bit Architettura client Nuovo script Script di criteri esistente No 32 bit Host di PowerShell a 32 bit supportato Viene eseguito solo nell'host PowerShell a 32 bit, che funziona su architetture a 32 bit e a 64 bit. Sì 64 bit Esegue script nell'host PowerShell a 64 bit per architetture a 64 bit. Quando viene eseguito a 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 passa a 64 bit, lo script viene aperto (non viene eseguito) in un host PowerShell a 64 bit e restituisce i risultati. Quando viene eseguito a 32 bit, lo script viene eseguito in un host PowerShell a 32 bit.
Selezionare Tag ambito. I tag di ambito sono facoltativi. Usare il controllo degli accessi in base al ruolo e i tag di ambito per l'IT distribuito include altre 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 AssegnazioniSelezionare 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 a Microsoft Entra gruppi di sicurezza dei dispositivi o Microsoft Entra gruppi di sicurezza degli utenti. Tuttavia, quando si prendono di mira i dispositivi aggiunti all'area di lavoro (WPJ), è possibile usare solo Microsoft Entra gruppi di sicurezza dei dispositivi (la destinazione utente viene ignorata).
Seleziona Avanti.
In Rivedi e aggiungi viene visualizzato un riepilogo delle impostazioni configurate. Selezionare Aggiungi per salvare lo script. Quando si seleziona Aggiungi, i criteri vengono distribuiti ai gruppi scelti.
Scenario - Errore di esecuzione dello script
8:00
- Registrarsi
- Eseguire lo script ConfigScript01
- Lo script non riesce
9:00
- Registrarsi
- Eseguire lo script ConfigScript01
- Lo script non riesce (numero di tentativi = 1)
10:00
- Registrarsi
- Eseguire lo script ConfigScript01
- Lo script non riesce (numero di tentativi = 2)
11:00
- Registrarsi
- Eseguire lo script ConfigScript01
- Lo script non riesce (numero di tentativi = 3)
12:00
- Registrarsi
- Non vengono eseguiti altri tentativi per eseguire lo 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.
In Script di PowerShell selezionare lo script da monitorare, scegliere Monitoraggio 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 dell'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
Possibili risoluzioni:
Gli script di PowerShell non vengono eseguiti ad ogni accesso. Vengono eseguiti:
Quando lo script viene assegnato a un dispositivo
Se si modifica lo script, caricarlo e assegnarlo a un utente o a un dispositivo
Consiglio
L'estensione di gestione di Microsoft Intune è un servizio eseguito nel dispositivo, proprio come qualsiasi altro servizio elencato nell'app Servizi (services.msc). Dopo il riavvio di un dispositivo, questo servizio potrebbe essere riavviato e verificare la presenza di eventuali script di PowerShell assegnati con il servizio Intune. Se il servizio Estensione di gestione di Microsoft Intune è impostato su Manuale, il servizio potrebbe non essere riavviato dopo il riavvio del dispositivo.
Assicurarsi che i dispositivi siano aggiunti all'ID Microsoft Entra. I dispositivi registrati solo nell'area di lavoro o nell'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.
Esaminare i log per eventuali errori. Vedere Log delle estensioni 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 inoltre che l'utente connesso disponga delle autorizzazioni appropriate per eseguire lo script.Per isolare i problemi di scripting, è possibile:
Esaminare la configurazione dell'esecuzione di PowerShell nei dispositivi. Per indicazioni, vedere i criteri di esecuzione di PowerShell .
Eseguire uno script di esempio usando l'estensione di gestione di Intune. Ad esempio, creare la
C:\Scriptsdirectory e assegnare a tutti il controllo completo. Eseguire lo script seguente:write-output "Script worked" | out-file c:\Scripts\output.txtIn caso di esito positivo, è necessario creare output.txt e includere il testo "Script lavorato".
Per testare l'esecuzione di script senza Intune, eseguire gli script nell'account di sistema usando lo strumento psexec in locale:
psexec -i -sSe lo script segnala che ha avuto esito positivo, ma in realtà non è riuscito, è possibile che il servizio antivirus stia sandboxing AgentExecutor. Lo script seguente segnala sempre un errore in Intune. Come test, è possibile usare questo script:
Write-Error -Message "Forced Fail" -Category OperationStopped mkdir "c:\temp" echo "Forced Fail" | out-file c:\temp\Fail.txtSe lo script segnala un esito positivo, esaminare per
AgentExecutor.logconfermare l'output dell'errore. Se lo script viene eseguito, la lunghezza deve essere >2.Per acquisire i
.errorfile e.output, il frammento di codice seguente esegue lo script tramite AgentExecutor in PowerShell x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). Mantiene i log per la 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 è più gestito, l'IME non viene rimosso immediatamente. L'IME rileva che Windows non viene gestito al successivo check-in IME (in genere ogni 8 ore) e annulla le esecuzioni di script. Nel frattempo, è possibile eseguire qualsiasi script archiviato in locale. Quando l'IME non è in grado di effettuare il check-in, ripete il check-in per un massimo di 24 ore (tempo di riattivarsi del dispositivo) e quindi si rimuove dal dispositivo Windows.
Passaggi successivi
Monitorare e risolvere i problemi relativi ai profili.