Spotlighti taustade automatiseerimine PowerShelli skriptide abil

Viimane uuendus: 07/01/2026
Autor: Isaac
  • PowerShell See võimaldab teil automatiseerida Spotlighti piltide ja kohalike kaustade kasutamist taustadena ja lukustuskuva skriptide kaudu, mis muudavad registrit ja sunnivad töölauda värskendama.
  • Intune'iga hallatavates keskkondades on PowerShelli skriptid pakitud rakendustena, mis võimaldab CSV-failide ja ressursikaustade abil juurutada ettevõtte taustapilte ja homogeenseid konfiguratsioone.
  • PowerShell on oluline tööriist administreerimiseks ja juurutamiseks (IIS, Web Deploy, andmebaasid SQL ja MySQL), kuid selle võimsus muudab selle atraktiivseks ka ründajatele, kes kasutavad seda failideta rünnakutes ja ärakasutamise järgsetes raamistikes.
  • PowerShelli kasutamise võti ilma riski suurendamata peitub heade skriptimistavade, sobivate täitmispoliitikate ja käitumisanalüüsil põhinevate turvalahenduste kombineerimises.

Töölaua taustade automatiseerimine PowerShelli abil

Selles artiklis koondame tavaliselt eraldi esitatud osad : reaalsed skriptid Spotlight-piltide kasutamiseks taustana, näited automaatse taustapildi pööramisest, kuidas seda kõike Intune'i hallatavates keskkondades rakendada ja praktiline sissejuhatus PowerShelli rolli administreerimises ja küberturvalisuses . Eesmärk on, et teil oleks põhjalik arusaam nii visuaalsest kohandamisest kui ka töölaua automatiseerimisega seotud riskidest ja parimatest tavadest.

Windows 11 töölaual esiletõstetud sisu
Seotud artikkel:
Windows 11 töölaua esiletõstetud sisu: täielik juhend

Spotlight + PowerShell: muutke oma lukustuskuva pildid igapäevaseks taustaks

Spotlighti fondide automatiseerimine PowerShelli abil

Windowsi Spotlight kuvab lukustuskuval iga päev suurepäraseid pilte, kuid puudub sisseehitatud valik nende automaatseks kasutamiseks töölaua taustana. Siin tulebki mängu PowerShell: väikese skripti abil saate Windowsile öelda, et ta kasutaks teie praeguse kasutaja taustana alati uusimat Spotlighti pilti.

Protseduuri võti peitub Windowsi registrisKasutajaga seotud Spotlight-piltidele viidatakse teekonnal HKEY_LOCAL_MACHINETäpsemalt harus, mis konfigureerib LogonUI-d ja loomingulist sisu, mis muutub iga kasutaja SID-i (turvatunnuse) põhjal. Nipp seisneb aktiivse SID-i tuvastamises, sobiva registritee loomises ja seejärel uusima pildi hankimises.

Tüüpiline skript algab praeguse kasutaja SID-i hankimisega. läbi ::GetCurrent()Seda SID-i kasutatakse registritee moodustamiseks, mis viitab lukustuskuva sätetele. Seejärel loetletakse alamvõtmed, mis sisaldavad viiteid Spotlight piltidele, ja valitakse uusim võti, kuna need on tavaliselt sorteeritud loomise kuupäeva järgi, mis lihtsustab uusima pildi leidmist.

Kui õige registreerimisvõti on leitudSkript loeb atribuuti, mis salvestab pildi tee failivormingus (näiteks väärtus nimega landscapeImageja salvestab selle tee muutujasse. Seda muutujat kasutatakse hiljem kasutaja töölaua tausta värskendamiseks registriharus. HKCU:\Control Panel\Desktop, kuhu Windows taustapildi seaded salvestab.

Tarbetute muudatuste vältimiseksSkript võrdleb tavaliselt praeguse Spotlight-pildi teed kasutaja registrivõtmes taustaks määratud teega (WallPaperKui need ühtivad, eeldatakse, et töölaua taustapildina kasutatakse juba uusimat Spotlighti pilti ja skript lõpeb edukalt ilma midagi muud puudutamata, vähendades ebavajalikku ekraani virvendamist või värskendamist.

Veel üks huvitav detail nende skriptide kohta on JPEG-vormingu kvaliteet.Paljud administraatorid kasutavad seda ära, et tagada väärtuse säilimine. JPEGImportQuality en HKCU:\Control Panel\Desktop See on seatud väärtusele 100. Kui võtit pole olemas, luuakse see võti kujul DWord väärtusega 100; kui see on olemas, aga sellel on erinev number, siis seda uuendatakse. See hoiab ära Windowsi pildi kvaliteedi halvenemise taustapildiks teisendamisel.

Viimane samm on uue tee määramine taustapildi väärtusele. koos Set-ItemProperty ja sundida Windowsi tausta värskendama. Tavaliselt tehakse seda käsuga ... RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters Skript töötab paar sekundit tsüklina, kuna värskendus ei pruugi alati esimesel katsel õnnestuda. See teeb mitu päringut ühesekundiliste pausidega, et tagada töölaua uuesti värvimine uue pildiga.

Selle lähenemisviisi üks keeruline aspekt on see, et Spotlight-piltide täpne registritee võib arvutites või Windowsi tulevastes versioonides erineda. Enne millegi laiaulatuslikku juurutamist on soovitatav tee oma keskkonnas üle kontrollida ja pidada meeles, et kui Microsoft muudab selle teabe salvestamise viisi, võib osutuda vajalikuks teha kohandusi.

Taustade automaatne pööramine kaustast: lihtne juhtum

Pöörake taustapilte PowerShelli abil

Kui te ei soovi Spotlightile lootma jääda Ja kui eelistate oma piltide valikut, muudab PowerShell selle ka väga lihtsaks – näiteks Windowsi taustapildi automaatne muutmine kellaaja järgi—. Näiteks saate luua kausta C:\Wallpapers, täitke see fotodega ja laske väikesel skriptil perioodiliselt (näiteks kord päevas) pilti valida ja rakendada, kasutades Windowsi ülesannete ajastajat.

  Chrome'i laienduste installimine, seadistamine ja eemaldamine

Levinud lähenemisviis on pildifailide loetlemine funktsiooniga Get-ChildItem., piirake ennast failidega, kasutades parameetrit -File ja seejärel vali üks juhuslikult, kasutades Get-RandomKinnisvaraga .FullName Täielik tee saadakse sellest failist ja kirjutatakse seejärel väärtusele Wallpaper kasutaja kirjest, täpselt nagu tehti Spotlight piltidega.

Pärast taustapildi väärtuse värskendamistTöölaua tausta värskendatakse sunniviisiliselt sama tehnika abil: kutse abil RUNDLL32.EXE user32.dll,UpdatePerUserSystemParametersKuigi kõige lihtsam näide teeb seda ainult üks kord, eelistavad paljud administraatorid reaalsetes keskkondades kõnet mitu korda korrata või lisada lühikese pausi, et tagada muudatuse nähtavus kõigil töölaudadel, eriti mitme monitoriga süsteemides.

Seda tüüpi skript sobib ideaalselt väikeste isiklike automatiseerimiste jaoks : lihtsalt ajasta see ülesannete ajastaja abil igapäevaseks või isegi iga kord sisselogimisel käivituma. See ei nõua Spotlighti teede või kasutaja SID-iga mässamist ning töötab mis tahes pildikoguga, alates ettevõtte fotodest kuni internetist alla laaditud kunstiliste taustadeni.

Lisaks on need skriptid heaks sisenemispunktiks PowerShelli. Algajatele: need võimaldavad teil harjutada cmdlettidega nagu Get-ChildItem, Get-Random, Set-ItemProperty ja Windowsi registri põhikasutus ilma keeruka koodita. Siit on lihtne sisse viia täiustusi, näiteks filtreerimine laienduste järgi, vealogi või integreerimine väliste teenustega.

Intune'i abil hallatavad taustapildid ja lukustuskuvad

Intune'i fondihaldus PowerShelli abil

Ärikeskkonnas lähevad asjad veidi keerulisemaks . Kasutajast ei piisa ainult taustapildi muutmisest; paljud organisatsioonid soovivad ühtseid taustu, ettevõtte lukustuskuvasid ja mõnikord ka slaidiesitlusi, mis kuvavad sisemisi kampaaniaid, brändipilte või ettevõtte põhiteavet. Kui meeskondi hallatakse Intune'i kaudu ja Windows 11 tootlikkuse seadetega , saab PowerShellist taas võtmekomponent.

Tüüpiline stsenaarium on see, kus administraator saab pildikomplekti. ja taotlus teisendada need slaidiseansiks töölaua taustaks ja mõnikord ka lukustuskuva jaoks. Tavaliselt on määratletud kohalik kaust, näiteks C:\temp\slideshowtest See toimib testimispaigana, kuhu kopeeritakse kõik kasutatavad pildid. Sealt edasi luuakse skript, mis konfigureerib Windowsi seda kausta slaidide allikana kasutama.

Intune'i osa hõlmab selle skripti pakkimist rakendusena (näiteks pakett, mis käivitab .ps1ja juurutada see soovitud seadmetesse või kasutajarühmadesse. Kasutaja kontekstis käivitamisel on skriptil juurdepääs registrivõtmetele HKCUkus saate määrata nii töölaua tausta kui ka lukustuskuva pildi või režiimi, austades organisatsiooni poliitikat.

Täiustatud lähenemisviis on kasutada spetsiaalselt IntuneAppi jaoks loodud skripte.pakkimis- ja juurutamislahendus. Näiteks skript nimega SetDesktop.ps1, millele on lisatud CSV-fail (SetDesktop.csvja kaust WallpaperCSV-fail toimib konfiguratsioonifailina, mille veerud sisaldavad näiteks pildifaili nime, paigutusstiili (täide, keskele joondamine, sobitamine jne) ja taustavärvi kuueteistkümnendsüsteemis (näiteks #040E4C (tumesinise puhul), mis rakendub ainult siis, kui esitlusstiil seda nõuab.

Seda tüüpi lahenduse tüüpiline struktuur See võiks olla midagi sellist \IntuneApp\Wallpaper\wallpaper1.pngkus põhipilt on salvestatud standardnimega. Näiteks CSV-failis on see defineeritud järgmiselt: WallpaperStyle=Fill nii et Windows täidab kogu ekraani, säilitades samal ajal kuvasuhte ja kärpides ülejäänu, ning taustavärvi kuueteistkümnendsüsteemis (näiteks #040E4C (tumesinise puhul), mis rakendub ainult siis, kui esitlusstiil seda nõuab.

Käitumise lokaalseks testimiseksPaljud administraatorid lihtsalt käivitavad faili SetDesktop.cmd mis kutsub skripti interaktiivses režiimis. Kui on kontrollitud, et taustapilt on õigesti rakendatud ning vastab värvile ja stiilile, kasutatakse automaatrežiimi. -mode auto PowerShelli skriptis, et integreerida see Intune'iga juurutatava vaikse installiprotsessiga.

Organisatsioonides, mis kasutavad IntuneAppi süsteemiVäljaande sihtrühma saab isegi teise CSV-faili abil kohandada (näiteks intune_settings.csv), määrates, millised seadme- või kasutajarühmad saavad uue tausta. See võimaldab näiteks rakendada erinevaid taustapilte olenevalt osakonnast, riigist või juurdepääsutasemest, kõik tsentraliseeritult ja automatiseeritult.

  Kuidas valida oma WhatsAppi kasutajanimi ja sellest maksimumi võtta

Konfigureerige taustapilte ja lukustuskuva väliste piltidega, näiteks Unsplashiga

Väliste piltide kasutamine taustana

Kõik pole Spotlighti piltidest vaimustuses . Mõned kasutajad eelistavad teisi repositooriume, näiteks Unsplash, mis pakub kvaliteetseid fotosid väga paindliku litsentsimisega. Levinud lähenemisviis on programmeerida skript, mis laadib iga päev Unsplashi URL-ilt alla uue pildi ja salvestab selle sama nimega kettale, kirjutades eelmise faili üle.

Kui olete seda faili iga päev uuendanudLoogiline lähenemine on automatiseerida Windowsi selle kasutamine nii töölaua tausta kui ka lukustuskuvana. Tausta jaoks on jällegi vaja muudatusi teha. HKCU:\Control Panel\Desktop ja sundige värskendust kutsega RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters, väga sarnasel viisil eelmiste näidetega.

Lukustuskuva säte on veidi täpsem . Windows pakub lukustuskuva pildi määratlemiseks API-t ja registrisätteid, kuigi see pole nii lihtne kui klassikalise taustapildi puhul. Paljud kasutajad kaaluvad selle API kasutamist või alternatiivsete registrisätete kasutamist, nõustudes, et nad peavad katsetama, milline kombinatsioon nende Windows 10 või 11 versioonis kõige paremini toimib.

Sellistel juhtudel on allalaadimisskript ja rakenduseskript tavalised eraldi : üks tegeleb igapäevase pildi internetist allalaadimise ja fikseeritud nimega salvestamisega, teine ​​aga, mis on ajastatud vahetult pärast seda, võtab selle faili ja määrab selle töölaua taustapildiks ja (vajadusel) lukustuskuvaks. See aitab tõrkeotsingul: kui allalaadimine ebaõnnestub, jätkab rakenduseskript tööd viimase saadaoleva pildiga.

Välistele teenustele, näiteks Unsplashile, tuginedes tuleb arvestada ka võrgu kättesaadavuse, puhverserveri poliitikate ja kaug-API võimalike muudatustega. Hea mõte on rakendada elementaarset veakäsitlust ja logimist (näiteks iga allalaadimise kuupäeva, URL-i ja tulemuse salvestamine kohalikku logisse), et kiiresti tuvastada, kas midagi on lakanud töötamast.

PowerShell kui automatiseerimis- ja turvatööriist: hea ja ohtlik

PowerShelli haldus ja turvalisus

Kõigi nende tapeedinäidete taga peitub laiem reaalsus : PowerShell on äärmiselt võimas skriptimiskeel ja käsurea kest administratiivsete ülesannete, konfiguratsiooni automatiseerimise ja turvatoimingute jaoks. Sama võimsus teebki sellest ründajate jaoks nii atraktiivse tööriista.

Administratiivsest vaatenurgastPowerShell võimaldab teil loetleda mooduleid koos Get-Module -ListAvailableAvasta kõik saadaolevad käsud Get-Commandsuhtleb registri, teenuste, IIS-i, andmebaaside ja praktiliselt iga süsteemikomponendiga. See muudab selle Windowsi süsteemiadministraatoritele ja tänu Windowsis töötavale PowerShell Core'ile ka platvormideüleste stsenaariumide jaoks hädavajalikuks. Linux ja macOS.

Turvalisuse seisukohast tuleb aga arvestada mitmete riskidega.Ründajad saavad Microsoft Defenderi keelamiseks ära kasutada õigustatud cmdlett-käske Set-MpPreference -DisableRealTimeMonitoring $true või jätke analüüsist terved marsruudid välja Add-MpPreference -ExclusionPath "c:". Nad võivad ka kasutada Get-PSDrive ühikute loetlemiseks, Get-EventLog et uurida logisid tundliku teabe osas või vaadata üle PowerShelli käskude ajalugu, et proovida taastada otse käsurealt kasutatud paroole.

PowerShell võimaldab teil skripte käivitada kettalt või ainult mälustSee hõlbustab failideta rünnakuid, mida on failipõhiste analüüsilahenduste abil raske tuvastada. Cmdlet-käsuga Invoke-Expression (Alias iexSkripte on võimalik internetist alla laadida ja otse mälus käivitada, sageli koos parameetritega, näiteks -ExecutionPolicy Bypass y -nop (ilma profiilita), et mööda hiilida täitmispiirangutest.

Viimastel aastatel on tekkinud spetsiaalsed rünnakute ärakasutamise raamistikud, näiteks PowerSploit ja PowerShell Empire, mis pakuvad skriptide kogusid järelrünnakuteks, klahvilogijate käivitamiseks, Mimikatzi abil mandaatide ekstraheerimiseks ja muudeks täiustatud tehnikateks. Need tööriistad kasutavad täiel määral ära PowerShelli paindlikkust ja sügavat integratsiooni operatsioonisüsteemiga.

Kaitsjate jaoks pole PowerShell.exe blokeerimine lihtsalt võimalik.PowerShell on Windowsi lahutamatu osa ja on ka tööriistu, mis saavad seda teegi kaudu käivitada. System.Management.Automation.dll ilma tavapärast käivitatavat faili läbimata. Praktikas võib iga protsess PowerShelli skripte käivitada, kui seda DLL-i kuritarvitatakse, seega kipuvad tänapäevased turvalahendused keskenduma pigem käitumisele kui konkreetsele kasutatavale binaarfailile.

Sellised lahendused nagu SentinelOne tuginevad käitumusanalüüsile : nad jälgivad protsesse, käsurea argumente, registri juurdepääsu, võrgu- ja failitoiminguid ning kasutavad seda konteksti, et tuvastada, millal on PowerShelli kasutamine õigustatud (näiteks ettevõtte töölaua tausta muutmine) ja millal see on osa rünnakuahelast. Nii saab PowerShelli jätkuvalt kasutada administratiivse tööriistana, jätmata kuritarvitustele ust avatuks.

  Täielik juhend tundmatute seadmete tõrkeotsinguks Windowsis: veakoodid 28, 43 ja muud

PowerShelli skriptid veebi juurutamiseks ja infrastruktuuriks

Lisaks taustadele ja visuaalsele kohandamisele kasutatakse PowerShelli laialdaselt tervete infrastruktuuride, näiteks IIS-serverite ja avalike või sisemiste veebisaitide konfigureerimiseks. Hea näide on Web Deploy (v2.1) installitud skriptide komplekt, mis on loodud veebirakenduste juurutamise ja andmebaaside haldamise hõlbustamiseks.

Need skriptid hõlmavad utiliite nagu SetupSiteForPublish.ps1, CreateSqlDatabase.ps1, CreateMySqlDatabase.ps1 ja AddDelegationRules.ps1 . Need on loodud automatiseerima kõike alates saitide loomisest IIS-is ja kasutajate juurutamisest kuni SQL-i või MySQL-i andmebaaside ettevalmistamiseni ja delegeerimisreeglite konfigureerimiseni, mis on vajalikud kasutajatele sisu turvaliseks avaldamiseks ilma serveri administraatorita.

Selliste skriptide kasutamiseks on vaja keskkonda, kus töötab IIS 7 või uuem versioon , st Windows Server 2008 või 2008 R2, ja neid käitaval kasutajal peavad olema administraatoriõigused. Samuti peate veenduma, et veebiserveri roll on lubatud, IIS-i haldusteenus töötab, PowerShell 2 on saadaval ja Web Deploy on installitud koos haldusteenuse integratsioonikomponendiga.

Skript SetupSiteForPublish.ps1, käivitati ilma parameetriteta, loob vaikimisi saidi nimega WDeploySite füüsilise juurega %systemdrive%\inetpub\WDeploySite, seotud rakenduste rühm WDeployAppPool ja sidumine pordil 8080 (või järgmisel saadaoleval pordil). Lisaks looge kohalik mitte-administraatori kasutaja (WDeploySiteuser), annab sellele saidikausta üle täielikud õigused ja IIS-i administraatori õigused selle konkreetse saidi jaoks ning salvestab konfiguratsioonifaili (WDeploy.PublishSettings) töölaual, mida saavad kasutada sellised tööriistad nagu WebMatrix või Visual Studio.

SetupSiteForPublish.ps1 faili saab ka paindlikumalt kasutada. selliste parameetrite kaudu nagu siteName, sitePhysicalPath, siteAppPoolName, sitePort, deploymentUserName, deploymentUserPassword, managedRunTimeVersion, publishSettingSavePath y publishSettingFileNameSee võimaldab näiteks lubada avaldamise olemasoleval saidil konkreetse kasutaja jaoks või luua uue saidi täielikult kohandatud nime, füüsilise tee, pordi ja identimisandmetega.

Selle osa jaoks SQL andmebaasCreateSqlDatabase.ps1 automatiseerib loomise andmebaasist, sisselogimine, õigustega kasutaja db_owner ja vastav ühendusstring, mis salvestatakse samasse avaldamise konfiguratsioonifaili. Parameetrid võimaldavad teil määratleda andmebaasi nime, kasutajanime ja parooli ning määrata SQL-administraatori (näiteks sa) ja eksemplar (vaikimisi) .\SQLExpress), lisaks konfiguratsioonifaili teele ja nimele.

Keskkondades, mis kasutavad MySQL-iCreateMySqlDatabase.ps1 täidab sarnast funktsiooni: see genereerib andmebaasi, loob kasutaja, kellel on sellele täielikud õigused (vaikimisi piiratud localhost) ja lisab ühendusstringi avaldamise konfiguratsioonifaili. Parameetreid, näiteks administraatorit, saab muuta (root tavaliselt), MySQL-i host (vaikimisi localhost) ja vajadusel muutke õiguste andmise rida, et lubada kaugjuurdepääsu, kasutades '%' asemel 'localhost'.

Turvalisuse ja IIS-i õiguste lõplikuks määramiseksKasutatakse skripti AddDelegationRules.ps1, mis konfigureerib serveris delegeerimisreegleid nii, et teatud kontod saaksid kirjutada applicationHost.config ja teostada toiminguid, näiteks rakenduste kogumite taaskasutamist. See skript saab luua spetsiaalselt nende ülesannete jaoks kõrgendatud kontosid ning toetab parameetreid kasutajanimede ja paroolide määratlemiseks, samuti modifikaatorit, mis võimaldab olemasolevate kontode mandaatide lähtestamist.

Kõik need juurutusskriptide näited näitavad sama filosoofiat, mida oleme näinud fondide automatiseerimise ja Spotlighti puhul: PowerShelli kasutamine korduvate või keeruliste ülesannete muutmiseks reprodutseeritavateks, standardiseeritud protsessideks, mida on lihtne juurutada mitmes serveris või masinas, vähendades inimlikke vigu ja parandades konfiguratsiooni jälgitavust.

PowerShelli kombineerimine õigete tööriistadega võimaldab teil nii kasutaja visuaalset kogemust kohandada (olgu selleks siis Spotlight, Unsplash või ettevõtte taustapildid) kui ka hallata veebiinfrastruktuuri ja turvalisust täpse juhtimisega. Skriptide suhtluse mõistmine registri, süsteemiteenuste ja täitmispoliitikatega on see, mis eristab hästi automatiseeritud keskkonda ebavajalikele riskidele avatud keskkonnast.