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. Eseguire quindi questi script nei dispositivi Windows 10. L'estensione di gestione migliora la gestione dei dispositivi Windows (MDM) e semplifica il passaggio alla gestione moderna.
Nota
Per informazioni sull'estensione di gestione Intune per Windows, vedere estensione di gestione Intune per Windows.
Prima di iniziare
Quando gli script sono impostati sul contesto utente e l'utente finale dispone dei diritti di amministratore, per impostazione predefinita, lo script di PowerShell viene eseguito con il privilegio di amministratore.
Agli utenti finali non è richiesto di accedere al dispositivo per eseguire script di PowerShell.
L'estensione di gestione 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 Intune ritenta lo script tre volte per le successive tre archiviazioni consecutive di estensione di gestione Intune.
Uno script di PowerShell assegnato al dispositivo verrà eseguito 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 quanto segue:
- Non includere alcun tipo di informazioni riservate negli script (ad esempio le password)
- Non includere informazioni personali negli script
- Non usare script per raccogliere informazioni personali dai dispositivi
- Seguire sempre le procedure consigliate per la privacy
Per informazioni correlate, vedere Correzioni.
Prerequisiti
- Intune estensioni di gestione viene installata automaticamente quando un'app script di PowerShell viene assegnata all'utente o al dispositivo. Per altre informazioni, vedere Intune estensioni di gestione per Windows.
Importante
Gli script distribuiti ai client che eseguono l'estensione di gestione Intune non verranno eseguiti se l'orologio di sistema del dispositivo è estremamente obsoleto per mesi o anni. Dopo aver aggiornato l'orologio di sistema, lo script verrà 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 riceveranno 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 verrà 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 modifiche aggiuntive allo script, non vengono eseguiti altri tentativi di esecuzione dello 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
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 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 può anche essere riavviato e verificare la presenza di eventuali script di PowerShell assegnati con il servizio Intune. Se il servizio estensione di gestione Microsoft Intune è impostato su Manuale, il servizio potrebbe non essere riavviato dopo il riavvio del dispositivo.
Assicurarsi che i dispositivi siano aggiunti a Microsoft Entra ID. I dispositivi aggiunti solo all'area di lavoro o all'organizzazione (registrati in Microsoft Entra ID) non riceveranno gli script.
Verificare che l'estensione di gestione Intune sia stata scaricata in
%ProgramFiles(x86)%\Microsoft Intune Management Extension
.Gli script non vengono eseguiti in Surface Hub o Windows 10 in modalità S.
Esaminare i log per eventuali errori. Vedere Intune log delle estensioni di gestione (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 Intune. Ad esempio, creare la
C:\Scripts
directory e assegnare a tutti il controllo completo. Eseguire lo script seguente:write-output "Script worked" | out-file c:\Scripts\output.txt
In caso di esito positivo, è necessario creare output.txt e includere il testo "Script lavorato".
Per testare l'esecuzione dello script senza Intune, eseguire gli script nell'account di sistema usando lo strumento psexec in locale:
psexec -i -s
Se 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.txt
Se lo script segnala un esito positivo, esaminare per
AgentExecutor.log
confermare l'output dell'errore. Se lo script viene eseguito, la lunghezza deve essere >2.Per acquisire i
.error
file 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 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.