PowerShell-szkriptek használata Windows-eszközökön az Intune-ban

A Microsoft Intune felügyeleti bővítménnyel tölthet fel PowerShell-szkripteket az Intune-ba. Ezután futtassa ezeket a parancsfájlokat Windows-eszközökön. A felügyeleti bővítmény javítja a mobileszköz-kezelést, és megkönnyíti a modern felügyeletre való áttérést.

Megjegyzés:

A Windowshoz készült Intune felügyeleti bővítményről további információt az Intune Windowshoz készült felügyeleti bővítményében talál.

Az első lépések

  • A felhasználói környezetre rendszergazdai jogosultsággal beállított parancsfájlok alapértelmezés szerint rendszergazdai jogosultsággal futtatják a PowerShellt.

  • A végfelhasználóknak nem kell bejelentkezniük az eszközön a PowerShell-parancsprogramok végrehajtásához.

  • Az Intune felügyeleti bővítmény minden újraindítás után ellenőrzi, hogy vannak-e új szkriptek vagy módosítások. Miután hozzárendelte a házirendet a Microsoft Entra-csoportokhoz, a PowerShell-parancsprogram lefut, és megjelenik a futtatás eredménye. A parancsfájl végrehajtása után csak akkor hajtódik újra, ha módosul a parancsfájl vagy a házirend. Ha a parancsfájl végrehajtása sikertelen, az Intune felügyeleti bővítménye háromszor próbálja újra a szkriptet a következő három egymást követő Intune felügyeleti bővítmény-bejelentkezés során.

  • Az eszközhöz rendelt PowerShell-parancsfájlok minden új felhasználónál futnak, aki bejelentkezik, kivéve a több munkamenetes termékváltozatokat, ahol a felhasználói bejelentkezés le van tiltva.

  • A PowerShell-parancsprogramokat a Win32-alkalmazások futtatása előtt hajtja végre a rendszer. Más szóval, a PowerShell-parancsfájlok hajtódnak végre először. Ezután a Win32-alkalmazások végrehajtódnak.

  • A PowerShell-parancsfájlok 30 perc elteltével időtúllépést okoznak.

Fontos

A PowerShell-szkriptek és szervizelési parancsfájlok használatakor az adatvédelmi tudatosság ajánlott eljárásai a következők:

  • Ne adjon meg semmilyen bizalmas adatot (például jelszót) a parancsfájlokban
  • Ne szerepeljenek személyes adatok a parancsfájlokban
  • Ne gyűjtsön személyes adatokat az eszközökről parancsfájlokkal
  • Mindig kövesse az adatvédelmi ajánlott eljárásokat

A kapcsolódó információkért lásd: Szervizelések.

Előfeltételek

  • Az Intune felügyeleti bővítmény automatikusan települ, amikor egy PowerShell-szkriptalkalmazás van hozzárendelve a felhasználóhoz vagy eszközhöz. További információ: Intune felügyeleti bővítmény a Windowshoz.

Fontos

Az Intune felügyeleti bővítményt futtató ügyfelekre telepített parancsfájlok nem futtathatók, ha az eszköz rendszerórája hónapokkal vagy évekkel túlzottan elavult. A rendszeróra frissítése után a parancsfájl a várt módon fut.

Parancsfájl-házirend létrehozása és hozzárendelése

  1. Jelentkezzen be a Microsoft Intune felügyeleti központba.

  2. Válassza az Eszközök>lehetőséget: Parancsfájlok és szervizelések>:Platformparancsfájlok>Hozzáadjuk>a Windows 10-et és az újabb verziókat.

    Képernyőkép egy új szkript létrehozásáról egy windowsos eszközhöz.

  3. Az Alapvető adatok területen adja meg a következő tulajdonságokat, majd válassza a Tovább gombot:

    • Név: Adja meg a PowerShell-parancsprogram nevét.
    • Leírás: Adja meg a PowerShell-parancsprogram leírását. A beállítás használata nem kötelező, de ajánlott.
  4. A Szkriptbeállítások területen adja meg a következő tulajdonságokat, és válassza a Tovább gombot:

    • Szkript helye: Tallózással keresse meg a PowerShell-parancsprogramot. A parancsfájlnak 200 KB-nál (ASCII) kisebbnek kell lennie.

    • Futtassa ezt a parancsfájlt a bejelentkezett hitelesítő adatokkal: Válassza az Igen (alapértelmezett) lehetőséget a parancsfájl futtatásához a felhasználó hitelesítő adataival az eszközön. Válassza a Nem lehetőséget a parancsfájl rendszerkörnyezetben való futtatásához. Sok rendszergazda az Igen lehetőséget választja. Ha a parancsfájl szükséges a rendszerkörnyezetben való futtatáshoz, válassza a Nem lehetőséget.

    • Parancsfájl aláírás-ellenőrzésének kényszerítése: Válassza az Igen (alapértelmezett) lehetőséget, ha a szkriptet megbízható közzétevőnek kell aláírnia. Válassza a Nem lehetőséget, ha nem követelmény a parancsfájl aláírása.

    • Parancsfájl futtatása 64 bites PowerShell-állomáson: Válassza az Igen lehetőséget a parancsfájl 64 bites PowerShell-gazdagépen való futtatásához 64 bites ügyfélarchitektúrán. A Nem (alapértelmezett) lehetőség választása esetén a parancsfájlt egy 32 bites PowerShell-gazdagépen futtathatja.

      Igen vagy Nem érték megadása esetén az alábbi táblázat ismerteti a házirendek új és meglévő viselkedését:

      Parancsfájl futtatása 64 bites gazdagépen Az ügyfél architektúrája Új parancsfájl Meglévő házirend-parancsfájl
      Nem 32 bites 32 bites PowerShell-gazdagép támogatása Csak 32 bites PowerShell-állomáson fut, amely 32 bites és 64 bites architektúrákon működik.
      Igen 64 bites Parancsfájlt futtat egy 64 bites PowerShell-gazdagépen 64 bites architektúrák esetén. 32 bites rendszeren futtatva a parancsfájl egy 32 bites PowerShell-gazdagépen fut. Parancsfájlt futtat egy 32 bites PowerShell-állomáson. Ha ez a beállítás 64 bitesre változik, a parancsfájl megnyílik (nem fut) egy 64 bites PowerShell-gazdagépen, és jelenti az eredményeket. Ha 32 bites rendszeren fut, a parancsfájl a 32 bites PowerShell-állomáson fut.
  5. Válassza a Hatókörcímkék lehetőséget. A hatókörcímkék megadása nem kötelező. Szerepköralapú hozzáférés-vezérlés és hatókörcímkék használata az elosztott informatika számára további információkkal szolgál.

    Hatókörcímke hozzáadása:

    • Válassza a Hatókörcímkék kiválasztása lehetőséget, jelöljön> ki egy meglévő hatókörcímkét a listából>, és válassza ki.

    • Ha végzett, válassza a Tovább gombot.

  6. Feladatok kiválasztása Válassza>ki a felvenni kívánt csoportokat. Megjelenik a Microsoft Entra-csoportok meglévő listája.

    • Válasszon ki egy vagy több csoportot, amelyek közé azok a felhasználók tartoznak, akiknek az eszközei megkapják a parancsfájlt. Válassza a Kijelölés elemet. A kiválasztott csoportok megjelennek a listában, és megkapják a házirendet.

      Megjegyzés:

      Az Intune PowerShell-parancsfájljai a Microsoft Entra eszközbiztonsági csoportjaira vagy a Microsoft Entra felhasználói biztonsági csoportjaira célozhatók. A munkahelyhez csatlakoztatott (WPJ) eszközök célzásakor azonban csak Microsoft Entra-eszközbiztonsági csoportok használhatók (a felhasználók célzását figyelmen kívül hagyja a rendszer).

    • Válassza a Tovább gombot.

      PowerShell-parancsfájl hozzárendelése vagy üzembe helyezése eszközcsoportokhoz a Microsoft Intune-ban

  7. A Véleményezés + hozzáadás területen látható a konfigurált beállítások összegzése. Válassza a Hozzáadás lehetőséget a szkript mentéséhez. Amikor a Hozzáadás lehetőséget választja, a rendszer üzembe helyezi a házirendet az Ön által kiválasztott csoportokban.

Forgatókönyv – A parancsfájl futtatása sikertelen

Reggel 8 óra

  • Bejelentkezés
  • ConfigScript01 szkript futtatása
  • A parancsfájl sikertelen

Reggel 9 óra

  • Bejelentkezés
  • ConfigScript01 szkript futtatása
  • A parancsfájl sikertelen (újrapróbálkozások száma = 1)

Délelőtt 10 óra

  • Bejelentkezés
  • ConfigScript01 szkript futtatása
  • A parancsfájl sikertelen (újrapróbálkozások száma = 2)

11 óra

  • Bejelentkezés
  • ConfigScript01 szkript futtatása
  • A parancsfájl sikertelen (újrapróbálkozások száma = 3)

12 óra

  • Bejelentkezés
  • A rendszer nem tesz más kísérletet a ConfigScript01-parancsfájlfuttatására.
  • Ha nem történik más módosítás a parancsfájlon, akkor nem történik más kísérlet a parancsfájl futtatására.

Futtatási állapot figyelése

A portálon figyelheti a PowerShell-parancsfájlok futtatási állapotát a felhasználók és az eszközök számára.

A PowerShell-parancsfájlokban jelölje ki a figyelni kívánt szkriptet, válassza a Figyelés lehetőséget, majd válasszon az alábbi jelentések közül:

  • Eszközállapot
  • Felhasználó állapota

Megjegyzés:

A platformszkriptek Intune felügyeleti központjából exportált eszközállapotok mostantól az Intune exportálási API-ját használják, és a CSV-oszlopnevek igazodnak az API-sémához.

Szkript törlése

A PowerShell-parancsfájlokban kattintson a jobb gombbal a szkriptre, és válassza a Törlés parancsot.

Gyakori problémák és megoldásuk

Probléma: A PowerShell-parancsfájlok nem futnak

Lehetséges megoldások:

  • A PowerShell-parancsfájlok nem futnak le minden bejelentkezéskor. Ezek a következőket futtatják:

    • Amikor a parancsfájl hozzá van rendelve egy eszközhöz

    • Ha módosítja a parancsfájlt, töltse fel, majd rendelje hozzá egy felhasználóhoz vagy eszközhöz

      Tipp

      A Microsoft Intune felügyeleti bővítmény egy olyan szolgáltatás, amely az eszközön fut, ugyanúgy, mint bármely más, a Szolgáltatások alkalmazásban (services.msc) felsorolt szolgáltatás. Az eszköz újraindítása után a szolgáltatás újraindulhat, és ellenőrizheti, hogy vannak-e hozzárendelt PowerShell-szkriptek az Intune szolgáltatással. Ha a Microsoft Intune felügyeleti bővítmény szolgáltatása manuálisra van állítva, akkor előfordulhat, hogy a szolgáltatás nem indul újra az eszköz újraindítása után.

  • Győződjön meg arról, hogy az eszközök csatlakoznak a Microsoft Entra ID-hoz. Azok az eszközök, amelyek csak a munkahelyén vagy a szervezeténél vannak regisztrálva a Microsoft Entra ID szolgáltatásban, nem kapják meg a szkripteket.

  • Győződjön meg arról, hogy az Intune felügyeleti bővítménye le van töltve a következőre: %ProgramFiles(x86)%\Microsoft Intune Management Extension.

  • A parancsfájlok nem futnak a Surface Hubokon, vagy az S módú Windowson.

  • Ellenőrizze a naplókat, hogy nincsenek-e hibák. Lásd az Intune felügyeleti bővítménynaplóit (ebben a cikkben).

  • Az engedélyekkel kapcsolatos lehetséges problémák esetén győződjön meg róla, hogy a PowerShell-parancsfájl tulajdonságai a következőre Run this script using the logged on credentialsvannak állítva: . Azt is ellenőrizze, hogy a bejelentkezett felhasználó rendelkezik-e a parancsfájl futtatásához szükséges engedélyekkel.

  • A parancsfájl-kezelési problémák azonosításához a következőket teheti:

    • Tekintse át a PowerShell végrehajtási konfigurációját az eszközein. Útmutatásért tekintse meg a PowerShell végrehajtási szabályzatát .

    • Futtasson egy mintaszkriptet az Intune felügyeleti bővítményével. Hozza létre például a címtárat C:\Scripts , és adjon mindenkinek teljes hozzáférést. Futtassa a következő parancsfájlt:

      write-output "Script worked" | out-file c:\Scripts\output.txt
      

      Ha sikerült, létre kell hozni output.txt, és tartalmaznia kell a "Script worked" (Szkript működött) szöveget.

    • A szkript Intune nélküli teszteléséhez futtassa a szkripteket a rendszerfiókban a psexec eszköz helyi használatával:

      psexec -i -s

    • Ha a parancsfájl azt jelzi, hogy a művelet sikeres volt, de valójában nem sikerült, akkor lehetséges, hogy a víruskereső szolgáltatása az AgentExecutor sandboxing szolgáltatása. A következő szkript mindig hibát jelez az Intune-ban. Tesztként ezt a szkriptet használhatja:

      Write-Error -Message "Forced Fail" -Category OperationStopped
      mkdir "c:\temp"
      echo "Forced Fail" | out-file c:\temp\Fail.txt
      

      Ha a parancsfájl sikeresnek bizonyul, ellenőrizze a AgentExecutor.log hiba kimenetét. Ha a parancsprogram végrehajtásra kerül, a hossznak 2-nek kell lennie >.

    • Az és .output fájlok rögzítéséhez .error az alábbi kódrészlet végrehajtja a parancsfájlt az AgentExecutoron keresztül a PowerShell x86-ba (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). A naplókat megőrzi az ellenőrzéshez. Ne feledje, hogy az Intune felügyeleti bővítmény a parancsfájl végrehajtása után törli a naplókat:

      $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
      

Probléma: Miért futnak a parancsfájlok, miközben a Windows már nincs felügyelve?

Ha egy hozzárendelt szkriptekkel rendelkező Windows-eszközt már nem felügyelnek, az IME nem törlődik azonnal. Az IME észleli, hogy a Windows nincs kezelve az IME következő bejelentkezésekor (általában 8 óránként), és megszakítja a parancsfájl futtatását. Addig is minden helyben tárolt parancsfájl futni tudott. Ha az IME nem tud beadni, akkor 24 órán belül újra megkísérli a beadást (az eszköz készenléti ideje), majd eltávolítja magát a windowsos eszközről.

Következő lépések

Figyelje és hárítsa el a profiljait.