Używanie skryptów programu PowerShell na urządzeniach Windows 10/11 w Intune
Użyj rozszerzenia zarządzania Microsoft Intune, aby przekazać skrypty programu PowerShell w Intune. Następnie uruchom te skrypty na urządzeniach Windows 10. Rozszerzenie zarządzania rozszerza zarządzanie urządzeniami z systemem Windows (MDM) i ułatwia przejście do nowoczesnego zarządzania.
Ważna
Aby obsługiwać rozszerzone funkcje i poprawki błędów, użyj .NET Framework 4.7.2 lub nowszej z rozszerzeniem Intune Management na klientach systemu Windows. Jeśli klient systemu Windows będzie nadal używać starszej wersji .NET Framework, rozszerzenie zarządzania Intune będzie nadal działać. .NET Framework 4.7.2 jest dostępny od Windows Update od 10 lipca 2018 r., który jest uwzględniony w win10 1809 (RS5) i nowszych. Należy pamiętać, że na urządzeniu może współistnieć wiele wersji .NET Framework.
Ta funkcja ma zastosowanie do:
- Windows 10 i nowsze (z wyłączeniem Windows 10 Home)
Uwaga
Po spełnieniu wymagań wstępnych rozszerzenia zarządzania Intune rozszerzenie Intune jest instalowane automatycznie po przypisaniu skryptu programu PowerShell lub aplikacji Win32, aplikacji ze Sklepu Microsoft, niestandardowych ustawień zasad zgodności lub proaktywnych korygowania do użytkownika lub urządzenia. Aby uzyskać więcej informacji, zobacz Intune Wymagania wstępne dotyczące rozszerzeń zarządzania.
Skrypty programu PowerShell, które nie są oficjalnie obsługiwane na urządzeniach dołączania do miejsca pracy (WPJ), można wdrożyć na urządzeniach WPJ. W szczególności skrypty programu PowerShell kontekstu urządzenia działają na urządzeniach WPJ, ale skrypty programu PowerShell kontekstu użytkownika są ignorowane z założenia. Skrypty kontekstu użytkownika będą ignorowane na urządzeniach WPJ i nie będą zgłaszane do centrum administracyjnego Microsoft Intune.
Przejście do nowoczesnego zarządzania
Przetwarzanie użytkowników przechodzi transformację cyfrową. Tradycyjna dział IT koncentruje się na jednej platformie urządzeń, urządzeniach należących do firmy, użytkownikach, którzy pracują z biura, oraz różnych ręcznych, reaktywnych procesach IT. Nowoczesne miejsce pracy korzysta z wielu platform należących do użytkowników i firm. Umożliwia użytkownikom pracę z dowolnego miejsca i zapewnia zautomatyzowane i proaktywne procesy IT.
Usługi MDM, takie jak Microsoft Intune, mogą zarządzać urządzeniami przenośnymi i stacjonarnymi z systemem Windows 10. Wbudowany klient zarządzania Windows 10 komunikuje się z Intune w celu uruchamiania zadań zarządzania przedsiębiorstwem. Mogą być potrzebne pewne zadania, takie jak zaawansowana konfiguracja urządzenia i rozwiązywanie problemów. W przypadku zarządzania aplikacjami Win32 możesz użyć funkcji zarządzania aplikacjami Win32 na urządzeniach Windows 10.
Rozszerzenie do zarządzania Intune uzupełnia wbudowane funkcje Windows 10 MDM. Skrypty programu PowerShell można tworzyć na urządzeniach Windows 10. Na przykład utwórz skrypt programu PowerShell, który wykonuje zaawansowane konfiguracje urządzeń. Następnie przekaż skrypt do Intune, przypisz skrypt do grupy Microsoft Entra i uruchom skrypt. Następnie możesz monitorować stan uruchomienia skryptu od początku do końca.
Przed rozpoczęciem
Gdy skrypty są ustawione na kontekst użytkownika, a użytkownik końcowy ma uprawnienia administratora, domyślnie skrypt programu PowerShell jest uruchamiany w ramach uprawnień administratora.
Użytkownicy końcowi nie muszą logować się do urządzenia w celu wykonywania skryptów programu PowerShell.
Agent rozszerzenia zarządzania Intune sprawdza po każdym ponownym uruchomieniu wszelkie nowe skrypty lub zmiany. Po przypisaniu zasad do grup Microsoft Entra zostanie uruchomiony skrypt programu PowerShell i zostaną zgłoszone wyniki przebiegu. Po wykonaniu skryptu nie zostanie on wykonany ponownie, chyba że nastąpi zmiana w skryptze lub zasadach. Jeśli skrypt nie powiedzie się, agent rozszerzenia zarządzania Intune ponawia próbę użycia skryptu trzy razy przez kolejne trzy kolejne Intune zaewidencjonowania agenta rozszerzenia zarządzania.
Skrypt programu PowerShell przypisany do urządzenia będzie uruchamiany dla każdego nowego użytkownika, który się loguje, z wyjątkiem jednostek SKU z wieloma sesjami, w których ewidencjonowanie użytkownika jest wyłączone.
Skrypty programu PowerShell są wykonywane przed uruchomieniem aplikacji Win32. Innymi słowy, skrypty programu PowerShell są wykonywane jako pierwsze. Następnie aplikacje Win32 są wykonywane.
Limit czasu skryptów programu PowerShell po 30 minutach.
Ważna
Najlepsze rozwiązania dotyczące rozpoznawania prywatności podczas korzystania ze skryptów programu PowerShell i skryptów korygowania obejmują następujące kwestie:
- Nie uwzględniaj żadnych informacji poufnych w skryptach (takich jak hasła)
- Nie uwzględniaj danych osobowych (PII) w skryptach
- Nie używaj skryptów do zbierania danych osobowych z urządzeń
- Zawsze postępuj zgodnie z najlepszymi rozwiązaniami dotyczącymi prywatności
Aby uzyskać powiązane informacje, zobacz Korygowanie.
Wymagania wstępne
Rozszerzenie zarządzania Intune ma następujące wymagania wstępne. Po ich spełnieniu rozszerzenie zarządzania Intune jest instalowane automatycznie, gdy do użytkownika lub urządzenia zostanie przypisany skrypt programu PowerShell lub aplikacja Win32.
Urządzenia z systemem Windows 10 wersji 1607 lub nowszej. Jeśli urządzenie jest zarejestrowane przy użyciu automatycznej rejestracji zbiorczej, urządzenia muszą działać Windows 10 wersji 1709 lub nowszej. Rozszerzenie zarządzania Intune nie jest obsługiwane w Windows 10 w trybie S, ponieważ tryb S nie zezwala na uruchamianie aplikacji innych niż sklepowe.
Urządzenia przyłączone do Tożsamość Microsoft Entra, w tym:
Microsoft Entra przyłączone hybrydowo: urządzenia przyłączone do Tożsamość Microsoft Entra, a także przyłączone do lokalna usługa Active Directory (AD). Aby uzyskać wskazówki, zobacz Planowanie implementacji przyłączania hybrydowego Microsoft Entra.
Microsoft Entra zarejestrowane/przyłączone do miejsca pracy (WPJ): urządzenia zarejestrowane w Tożsamość Microsoft Entra, zobacz Dołączanie do miejsca pracy jako bezproblemowe uwierzytelnianie drugiego czynnika, aby uzyskać więcej informacji. Zazwyczaj są to urządzenia BYOD (Bring Your Own Device), na których dodano konto służbowe za pośrednictwem ustawień>Konta>Dostęp do pracy lub szkoły.
Urządzenia zarejestrowane w Intune, w tym:
Urządzenia zarejestrowane w zasadach grupy (GPO). Aby uzyskać wskazówki, zobacz Automatyczne rejestrowanie urządzenia Windows 10 przy użyciu zasady grupy.
Urządzenia ręcznie zarejestrowane w Intune, czyli wtedy, gdy:
- Automatyczne rejestrowanie w Intune jest włączone w Tożsamość Microsoft Entra. Użytkownicy logują się do urządzeń przy użyciu lokalnego konta użytkownika i ręcznie dołączają urządzenie do Tożsamość Microsoft Entra. Następnie logują się do urządzenia przy użyciu konta Microsoft Entra.
LUB
- Użytkownik loguje się do urządzenia przy użyciu swojego konta Microsoft Entra, a następnie rejestruje się w Intune.
Współzarządzane urządzenia korzystające z Configuration Manager i Intune. Podczas instalowania aplikacji Win32 upewnij się, że obciążenie Aplikacje jest ustawione na Intune pilotażowe lub Intune. Skrypty programu PowerShell zostaną uruchomione, nawet jeśli obciążenie Aplikacje zostanie ustawione na Configuration Manager. Rozszerzenie do zarządzania Intune zostanie wdrożone na urządzeniu podczas kierowania skryptu programu PowerShell do urządzenia. Pamiętaj, że urządzenie musi być urządzeniem przyłączonym hybrydowo Tożsamość Microsoft Entra lub Microsoft Entra. Ponadto musi działać Windows 10 wersji 1607 lub nowszej. Aby uzyskać wskazówki, zobacz następujące artykuły:
Skrypty wdrożone dla klientów z uruchomionym rozszerzeniem zarządzania Intune nie będą uruchamiane, jeśli zegar systemowy urządzenia jest niezwykle nieaktualny przez miesiące lub lata. Po uaktualnieniu zegara systemowego skrypt będzie uruchamiany zgodnie z oczekiwaniami.
Uwaga
Aby uzyskać informacje na temat korzystania z maszyn wirtualnych z systemem Windows 10, zobacz Using Windows 10 virtual machines with Intune (Używanie maszyn wirtualnych Windows 10 z Intune).
Tworzenie zasad skryptu i przypisywanie ich
Zaloguj się do Centrum administracyjnego usługi Microsoft Intune.
Wybierz pozycję Urządzenia>Skrypty i korygowania SkryptyplatformyDodaj>Windows 10 i nowsze>>.
W obszarze Podstawy wprowadź następujące właściwości, a następnie wybierz pozycję Dalej:
- Nazwa: wprowadź nazwę skryptu programu PowerShell.
- Opis: wprowadź opis skryptu programu PowerShell. To ustawienie jest opcjonalne, ale zalecane.
W obszarze Ustawienia skryptu wprowadź następujące właściwości, a następnie wybierz pozycję Dalej:
Lokalizacja skryptu: przejdź do skryptu programu PowerShell. Skrypt musi być mniejszy niż 200 KB (ASCII).
Uruchom ten skrypt przy użyciu poświadczeń logowania: wybierz pozycję Tak (ustawienie domyślne), aby uruchomić skrypt z poświadczeniami użytkownika na urządzeniu. Wybierz pozycję Nie , aby uruchomić skrypt w kontekście systemu. Wielu administratorów wybiera pozycję Tak. Jeśli skrypt jest wymagany do uruchomienia w kontekście systemu, wybierz pozycję Nie.
Wymuszaj sprawdzanie podpisu skryptu: wybierz pozycję Tak (wartość domyślna), jeśli skrypt musi być podpisany przez zaufanego wydawcę. Wybierz pozycję Nie , jeśli nie ma wymogu podpisania skryptu.
Uruchom skrypt na 64-bitowym hoście programu PowerShell: wybierz pozycję Tak , aby uruchomić skrypt na 64-bitowym hoście programu PowerShell w 64-bitowej architekturze klienta. Wybierz pozycję Nie (ustawienie domyślne) uruchamia skrypt na 32-bitowym hoście programu PowerShell.
W przypadku ustawienia wartości Tak lub Nie użyj poniższej tabeli, aby uzyskać nowe i istniejące zachowanie zasad:
Uruchamianie skryptu na hoście 64-bitowym Architektura klienta Nowy skrypt Istniejący skrypt zasad Nie 32-bitowy Obsługiwany 32-bitowy host programu PowerShell Działa tylko na 32-bitowym hoście programu PowerShell, który działa w architekturach 32-bitowych i 64-bitowych. Tak 64-bitowe Uruchamia skrypt na 64-bitowym hoście programu PowerShell dla architektur 64-bitowych. Po uruchomieniu w wersji 32-bitowej skrypt jest uruchamiany na 32-bitowym hoście programu PowerShell. Uruchamia skrypt na 32-bitowym hoście programu PowerShell. Jeśli to ustawienie zmieni się na 64-bitowe, skrypt zostanie otwarty (nie zostanie uruchomiony) na 64-bitowym hoście programu PowerShell i zgłosi wyniki. Po uruchomieniu 32-bitowego skrypt jest uruchamiany na 32-bitowym hoście programu PowerShell.
Wybierz pozycję Tagi zakresu. Tagi zakresu są opcjonalne. Więcej informacji zawiera użycie kontroli dostępu opartej na rolach (RBAC) i tagów zakresu dla rozproszonej infrastruktury IT.
Aby dodać tag zakresu:
Wybierz pozycję Wybierz tagi> zakresu wybierz istniejący tag zakresu z listy >Wybierz.
Po zakończeniu wybierz pozycję Dalej.
Wybierz pozycję Przypisania>Wybierz grupy do uwzględnienia. Zostanie wyświetlona istniejąca lista grup Microsoft Entra.
Wybierz co najmniej jedną grupę obejmującą użytkowników, których urządzenia odbierają skrypt. Zaznacz pozycję Wybierz. Wybrane grupy zostaną wyświetlone na liście i otrzymają twoje zasady.
Uwaga
Skrypty programu PowerShell w Intune mogą być przeznaczone do Microsoft Entra grup zabezpieczeń urządzeń lub Microsoft Entra grup zabezpieczeń użytkowników. Jednak w przypadku kierowania urządzeń przyłączonych do miejsca pracy (WPJ) można używać tylko Microsoft Entra grup zabezpieczeń urządzeń (określanie wartości docelowej użytkowników zostanie zignorowane).
Wybierz pozycję Dalej.
W obszarze Przeglądanie i dodawanie zostanie wyświetlone podsumowanie skonfigurowanych ustawień. Wybierz pozycję Dodaj , aby zapisać skrypt. Po wybraniu pozycji Dodaj zasady są wdrażane w wybranych grupach.
Przykład nie można uruchomić skryptu
8:00
- Zamelduj się
- Uruchamianie skryptu ConfigScript01
- Skrypt kończy się niepowodzeniem
9:00
- Zamelduj się
- Uruchamianie skryptu ConfigScript01
- Skrypt kończy się niepowodzeniem (liczba ponawiania prób = 1)
10:00
- Zamelduj się
- Uruchamianie skryptu ConfigScript01
- Skrypt kończy się niepowodzeniem (liczba ponawiania prób = 2)
11:00
- Zamelduj się
- Uruchamianie skryptu ConfigScript01
- Skrypt kończy się niepowodzeniem (liczba ponawiania prób = 3)
12:00
- Zamelduj się
- Nie są podejmowane żadne dodatkowe próby uruchomienia skryptu ConfigScript01.
- Jeśli skrypt nie wprowadzi żadnych dodatkowych zmian, nie zostaną podjęte żadne dodatkowe próby uruchomienia skryptu.
Monitorowanie stanu uruchomienia
Możesz monitorować stan uruchamiania skryptów programu PowerShell dla użytkowników i urządzeń w portalu.
W skryptach programu PowerShell wybierz skrypt do monitorowania, wybierz pozycję Monitoruj, a następnie wybierz jeden z następujących raportów:
- Stan urządzenia
- Stan użytkownika
dzienniki rozszerzenia zarządzania Intune
Dzienniki agenta na maszynie klienckiej są zwykle w programie C:\ProgramData\Microsoft\IntuneManagementExtension\Logs
. Możesz użyć CMTrace.exe , aby wyświetlić te pliki dziennika.
Ponadto można użyć pliku dziennika AppWorkload.log , aby ułatwić rozwiązywanie problemów i analizowanie zdarzeń zarządzania aplikacjami Win32 na kliencie. Ten plik dziennika zawiera wszystkie informacje rejestrowania związane z działaniami wdrażania aplikacji prowadzonymi przez program IME.
Usuwanie skryptu
W skryptach programu PowerShell kliknij prawym przyciskiem myszy skrypt, a następnie wybierz pozycję Usuń.
Znane problemy i rozwiązania
Problem: rozszerzenie zarządzania Intune nie jest pobierane
Możliwe rozwiązania:
- Urządzenie nie jest przyłączone do Tożsamość Microsoft Entra. Upewnij się, że urządzenia spełniają wymagania wstępne (w tym artykule).
- Nie ma żadnych skryptów programu PowerShell ani aplikacji Win32 przypisanych do grup, do których należy użytkownik lub urządzenie.
- Urządzenie nie może zaewidencjonować w usłudze Intune. Na przykład nie ma dostępu do Internetu, nie ma dostępu do usług powiadomień wypychanych systemu Windows (WNS) itd.
- Urządzenie jest w trybie S. Rozszerzenie zarządzania Intune nie jest obsługiwane na urządzeniach działających w trybie S.
Aby sprawdzić, czy urządzenie zostało zarejestrowane automatycznie, możesz:
- Przejdź do pozycji Ustawienia>Konta>Dostęp do pracy lub szkoły.
- Wybierz dołączone informacje o koncie>.
- W obszarze Zaawansowany raport diagnostyczny wybierz pozycję Utwórz raport.
- Otwórz plik
MDMDiagReport
w przeglądarce internetowej. - Wyszukaj właściwość MDMDeviceWithAAD . Jeśli właściwość istnieje, urządzenie zostanie automatycznie zarejestrowane. Jeśli ta właściwość nie istnieje, urządzenie nie jest automatycznie rejestrowane.
Włączanie Windows 10 automatycznej rejestracji obejmuje kroki konfigurowania automatycznej rejestracji w Intune.
Problem: Skrypty programu PowerShell nie są uruchamiane
Możliwe rozwiązania:
Skrypty programu PowerShell nie są uruchamiane przy każdym logowanie. Uruchamiają:
Gdy skrypt jest przypisany do urządzenia
Jeśli zmienisz skrypt, przekaż go i przypiszesz skrypt do użytkownika lub urządzenia
Porada
Rozszerzenie zarządzania Microsoft Intune to usługa działająca na urządzeniu, podobnie jak każda inna usługa wymieniona w aplikacji Usługi (services.msc). Po ponownym uruchomieniu urządzenia ta usługa może również zostać ponownie uruchomiona i sprawdzić, czy w usłudze Intune nie ma przypisanych skryptów programu PowerShell. Jeśli usługa rozszerzenia zarządzania Microsoft Intune jest ustawiona na ręczne, usługa może nie zostać ponownie uruchomiona po ponownym uruchomieniu urządzenia.
Upewnij się, że urządzenia są przyłączone do Tożsamość Microsoft Entra. Urządzenia przyłączone tylko do miejsca pracy lub organizacji (zarejestrowane w Tożsamość Microsoft Entra) nie otrzymają skryptów.
Upewnij się, że rozszerzenie zarządzania Intune jest pobierane do
%ProgramFiles(x86)%\Microsoft Intune Management Extension
programu .Skrypty nie są uruchamiane na urządzeniach Surface Hubs ani Windows 10 w trybie S.
Przejrzyj dzienniki pod kątem błędów. Zobacz Intune dzienniki rozszerzeń zarządzania (w tym artykule).
W przypadku możliwych problemów z uprawnieniami upewnij się, że właściwości skryptu programu PowerShell są ustawione na
Run this script using the logged on credentials
. Sprawdź również, czy zalogowany użytkownik ma odpowiednie uprawnienia do uruchamiania skryptu.Aby wyizolować problemy ze skryptami, możesz:
Przejrzyj konfigurację wykonywania programu PowerShell na urządzeniach. Aby uzyskać wskazówki, zobacz zasady wykonywania programu PowerShell .
Uruchom przykładowy skrypt przy użyciu rozszerzenia zarządzania Intune. Na przykład utwórz
C:\Scripts
katalog i nadaj wszystkim pełną kontrolę. Uruchom następujący skrypt:write-output "Script worked" | out-file c:\Scripts\output.txt
Jeśli to się powiedzie, należy utworzyć output.txt i uwzględnić tekst "Skrypt zadziałał".
Aby przetestować wykonywanie skryptu bez Intune, uruchom skrypty na koncie systemowym przy użyciu narzędzia psexec lokalnie:
psexec -i -s
Jeśli skrypt zgłasza, że powiodło się, ale faktycznie nie powiodło się, możliwe, że usługa antywirusowa może być piaskownicą AgentExecutor. Poniższy skrypt zawsze zgłasza błąd w Intune. W ramach testu możesz użyć tego skryptu:
Write-Error -Message "Forced Fail" -Category OperationStopped mkdir "c:\temp" echo "Forced Fail" | out-file c:\temp\Fail.txt
Jeśli skrypt zgłasza powodzenie, zapoznaj się z poleceniem
AgentExecutor.log
, aby potwierdzić dane wyjściowe błędu. Jeśli skrypt zostanie wykonany, długość powinna wynosić >2.Aby przechwycić
.error
pliki i.output
, poniższy fragment kodu wykonuje skrypt za pośrednictwem agentaExecutor do programu PowerShell x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0
). Przechowuje dzienniki do przeglądu. Pamiętaj, że rozszerzenie zarządzania Intune czyści dzienniki po wykonaniu skryptu:$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
Następne kroki
Monitorowanie profilów i rozwiązywanie problemów z nimi.