
Ja jums patīk fotoattēli, ko Windows Spotlight rāda bloķēšanas ekrānā, un vēlaties, lai tie tiktu rādīti kā darbvirsmas fons, esat nonācis īstajā vietā. Ar nelielu PowerShell jūs varat pilnībā automatizēt fona attēla maiņu.vai nu izmantojot Spotlight, satelītattēlus, piemēram, Himawari-8, vai pat ikdienas fotoattēlus, kas lejupielādēti no interneta.
Papildus estētiskajam aspektam šī tēma ļoti labi saistās ar citu realitāti: PowerShell ir Šveices armijas nazis Windows automatizēšanai, infrastruktūras izvietošanai un pat galvenās lomas spēlēšanai kiberdrošībā.Šajā rakstā mēs savienosim visus punktus: reālus skriptus līdzekļu automatizēšanai, to plānošanu ar uzdevumu plānotāju, to izmantošanu pārvaldītās vidēs (Intune, GPO, CSP) un kādus riskus rada skriptu pilnīga izmantošana.
Kas ir Windows Spotlight un kā tas ir saistīts ar PowerShell?
Windows Spotlight ir funkcija, kas Tas bloķēšanas ekrānā parāda iespaidīgus attēlus un ziņojumus.Šiem paziņojumiem dažreiz tiek pievienoti interesanti fakti, ieteikumi vai organizācijas paziņojumi. Korporatīvā vidē tos var kontrolēt, izmantojot grupas politiku, CSP vai MDM risinājumus, piemēram, Intune.
Oficiāli, Spotlight ir pieejams sākotnēji Enterprise un Education izdevumos.kur administratori var izlemt, vai to izmantot, aizstāt attēlus ar uzņēmuma fotoattēlu vai integrēt iekšējos ziņojumus. Vienam lietotājam tas ir pavisam vienkārši Iestatījumi > Personalizācija > Bloķēšanas ekrāns un nolaižamajā izvēlnē atlasiet “Windows uzmanības centrā”.
Ja vēlaties veikt vairāk nekā tikai pamata vizuālos pielāgojumus, PowerShell tiek izmantots kā uzlabots automatizācijas rīks no Windows terminālsSākot ar skriptiem, kas nokasa Windows reģistru, lai atrastu jaunāko Spotlight attēlu, līdz risinājumiem, kas maina fona attēlus no lokālās mapes vai lejupielādē ārējos attēlus ik pēc dažām minūtēm, visu var organizēt ar dažām koda rindām.
Automatizējiet fonus ar Spotlight attēliem un PowerShell
Viena no interesantākajām pieejām ietver tieši atkārtoti izmantot attēlu, ko Spotlight rāda bloķēšanas ekrānā lai to iestatītu kā darbvirsmas fonu. Sistēmai Windows nav burvju pogas šim nolūkam, taču nepieciešamie dati ir reģistrā, un PowerShell var tos nolasīt bez lielām problēmām.
Tipisks process sākas ar iegūšanu Pašreizējā lietotāja SID (drošības identifikators)kaut ko tādu, ko var izdarīt ar ::GetCurrent()Šis SID ir apvienots noteiktā reģistra ceļā, iekš HKEY_LOCAL_MACHINE, konfigurācijas apgabalā LogonUI un radošais satursŠis ceļš ir tas, ko Windows izmanto, lai saistītu lietotāju ar viņa Spotlight attēliem.
Kad ceļš ir iestatīts, skripts atkārto savas apakšatslēgas ar Get-ChildItem y Izmantot pēdējo pieejamo atslēgu kā kandidātuŠīs atslēgas parasti tiek izveidotas hronoloģiskā secībā, tāpēc pēdējā parasti atbilst jaunākajam Spotlight lejupielādētajam attēlam. Pēc tam tiek vaicāts īpašība, kurā tiek glabāts ceļš uz fizisko failu (parasti to sauc par kaut ko līdzīgu `/ceļš/uz/failu`). landscapeImage) un tiek glabāts PowerShell mainīgajā.
Ar šo maršrutu rokās, nākamais solis ir salīdzināt to ar lietotāja pašreizējo fonu, kas tiek glabāts HKCU:\Control Panel\Desktop zem vērtības WallPaperJa abi ceļi sakrīt, tas nozīmē, ka mēs jau izmantojam šo Spotlight attēlu kā fonu, un skripts var iziet bez turpmākas kavēšanās, izvairoties no mirgošanas vai nevajadzīgiem darbvirsmas atjauninājumiem.
Daudzi skripti izmanto šo ceļojumu, lai arī pielāgotu JPEG kvalitāte, ko Windows izmanto fona apstrādeiTajā pašā reģistra filiālē (HKCU:\Control Panel\Desktop) pastāv vērtība, ko sauc par JPEGImportQualityJa tā neeksistē, tā tiek izveidota kā DWord ar vērtību 100; ja tā pastāv, bet tai ir cita vērtība, tā tiek atjaunināta uz 100. Tas nodrošina, ka Fona attēlam jābūt attēlotam visaugstākajā iespējamajā kvalitātē.bez papildu saspiešanas, kas sabojās fotoattēlu. Ja vēlaties attēlus pirms to izmantošanas arī retušēt, skatiet labākās Photoshop alternatīvas.
Kad tiek konstatēts, ka Spotlight attēls atšķiras no darbvirsmas attēla, skripts atjaunināt vērtību WallPaper ar jauno attēlu maršrutu izmantojot Set-ItemPropertyReģistra ieraksts pats par sevi neizraisa izmaiņas nekavējoties, tāpēc jums ir jāpiespiež Windows atsvaidzināt fonu. Parasti to var izdarīt, izsaucot... RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ciklā ar vienas sekundes pauzēm, lai nodrošinātu, ka sistēma pabeidz izmaiņu piemērošanu.
Jāpiebilst, ka Precīzs reģistra ceļš, kurā tiek glabātas šīs Spotlight atslēgas, var atšķirties. Tas ir atkarīgs no Windows versijas vai turpmākajiem atjauninājumiem. Tāpēc jebkurš skripts, kas tiks izvietots daudzos datoros, vispirms ir jāpārbauda dažās reprezentatīvās ierīcēs, un izmantotajam ceļam ir jābūt labi dokumentētam, ja Microsoft nolemj to mainīt turpmākajās versijās.
Izplatīts triks, lai visu šo padarītu patiesi automātisku, ir Skripta ieplānošana Windows uzdevumu plānotājā lai tas darbotos ik pēc X minūtēm pašreizējā lietotāja kontekstā. 15 minūšu intervāls parasti ir vairāk nekā pietiekams, lai, Spotlight mainot attēlu, darbvirsma tiktu atjaunināta ar jauno fonu bez lietotāja iejaukšanās.

Automātiska fona attēla pagriešana no mapes
Ja nevēlaties paļauties uz Spotlight vai dodat priekšroku tādam savu organizēto attēlu kolekcijuVienkārša alternatīva ir izveidot mapi ar tipu C:\Wallpapers un ļaujiet PowerShell automātiski izvēlēties failu ik pa laikam vai izmantot paplašinājumi attēlu lejupielādei.
Pamatdoma ir izmantot Get-ChildItem lai uzskaitītu attēlu failus (filtrēšana pēc paplašinājumiem vai izmantojot parametru -File (lai izvairītos no apakšmapēm), un pēc tam atlasiet vienu nejauši ar Get-RandomTiek izmantota šī objekta īpašība .FullName lai iegūtu absolūto ceļu un šis maršruts ir ierakstīts HKCU:\Control Panel\Desktop, vērtībā WallPaper, tāpat kā mēs to darījām ar Spotlight.
Pēc reģistra vērtības modificēšanas tiek izsaukts vēlreiz RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters Lai piespiestu Windows pārkrāsot darbvirsmu. Sistēmās ar vairākiem monitoriem vai noteiktām darbvirsmas kešatmiņas konfigurācijām dažreiz ir vērts izsaukt šo funkciju vairākas reizes vai pat ieviest nelielu aizkavi pirms skripta aizvēršanas.
Šāda veida skripts ir ideāli piemērots personīgai automatizācijai: Vienkārši izveidojiet ieplānotu uzdevumu, kas tiek palaists, kad piesakāties. vai reizi dienā. Tas ir lielisks veids, kā praktizēties ar pamata PowerShell cmdlet (reģistrēšanu, cikliem, nejaušu atlasi), neiedziļinoties sarežģītos API vai ārējos moduļos.
Automatizējiet fonus ar attēliem no Himawari-8 satelīta
Vēl viens ļoti pārsteidzošs variants ietver izmantošanu Gandrīz reāllaika attēli no Japānas laika apstākļu satelīta Himawari-8Šis satelīts piedāvā publiski pieejamus Zemes skatus, un daži lietotāji ir izveidojuši PowerShell skriptus, lai tos lejupielādētu un automātiski pārveidotu par darbvirsmas foniem.
Tipiskā pieeja, kas sākotnēji tika publicēta vietnē GitHub, sastāv no skripta, kas Lejupielādējiet jaunāko momentuzņēmumu no serveriem, kuros atrodas Himawari-8 attēli. un saglabā to lokālā atrašanās vietā. Pēc lejupielādes PowerShell atjaunina darbvirsmas fonu ar šo attēlu, līdzīgi kā mēs jau esam redzējuši: tas maina vērtību WallPaper no reģistrācijas un piespiediet atsvaidzinājumu ar RUNDLL32.EXE.
Pagaidām viss labi, bet sākumā Skripts bija jāpalaiž manuāli katru reizi, kad bija jāatjaunina fons.Lai no tā izvairītos, mēs atkal izmantojam uzdevumu plānotāju: mēs izveidojam uzdevumu, kas sākas pieteikšanās brīdī un atkārtojas, piemēram, ik pēc 10 minūtēm. Tādā veidā skripts tiek palaists automātiski, lejupielādē jaunāko satelīta attēlu un Atsvaidziniet savu fona attēlu ar gandrīz tiešraides planētas skatu.
Ir svarīga drošības detaļa: tā kā skripts parasti nav parakstīts, PowerShell pēc noklusējuma bloķē tā izpildiLai to atļautu, izpildes politika tiek īslaicīgi mainīta, izmantojot kaut ko līdzīgu Set-ExecutionPolicy Unrestricted tiek izpildīts PowerShell konsolē ar administratora privilēģijām. Tas ir ērts, bet riskants pasākums, tāpēc ir vērts apsvērt drošākas alternatīvas (piemēram, RemoteSigned vai savu scenāriju parakstīšanu).
Uzdevumu plānotājā tipiskā konfigurācija ietver: darbība, kas izsauc PowerShell ar skriptu kā argumentu (piem. powershell.exe -File .\himawari.ps1), sākuma atrašanās vietu mapē, kurā atrodas skripts, un aktivizētāju, kas to palaiž pieteikšanās brīdī un atkārto ik pēc X minūtēm bezgalīgi. Kad tas ir konfigurēts, varat par to aizmirst: katru reizi, kad paskatīsities uz darbvirsmu, redzēsiet jaunāko satelīta uzņemto attēlu.
Krāsu un saskarnes elementu papildu pielāgošana, izmantojot PowerShell
Papildus fona attēliem daudzi lietotāji vēlas automatizēt sistēmas krāsu pielāgošanuTumšais vai gaišais režīms, uzdevumjoslas krāsa, akcenti logu virsrakstos utt. Plašāku informāciju par iestatījumiem skatiet sadaļā ekrāna DPI iestatījumiLai gan Windows grafiskais interfeiss ļauj to izdarīt manuāli, darba vidēs, kur ir konfigurēti daudzi datori, ir daudz ērtāk to darīt, izmantojot skriptus.
Krāsu un tēmu iestatījumi galvenokārt tiek glabāti reģistrā sadaļās HKCU saistībā ar pielāgošanu un tēmāmIzmantojot PowerShell, varat modificēt šīs vērtības, piemēram, lai aktivizētu tumšo režīmu operētājsistēmai Windows, atstātu lietojumprogrammas gaišajā režīmā vai definētu, ka uzdevumjoslā un izvēlnē Sākt tiek izmantota noteikta krāsa, piemēram, korporatīvā tumši zilā krāsā.
Kad atbilstošās vērtības ir mainītas, Ir iespējams piespiest saskarni atsvaidzināties Šis skripts izmanto līdzīgas komandas kā fona attēlu iestatījumiem vai dažos gadījumos ietver izrakstīšanos un atkārtotu pierakstīšanos, lai nodrošinātu, ka visas izmaiņas tiek piemērotas konsekventi. Šāda veida skripts ir īpaši noderīgs, ieviešot standarta darbvirsmas konfigurācijas visā uzņēmumā un ja vēlaties, lai visi lietotāji redzētu vienu un to pašu krāsu paleti, to nekonfigurējot individuāli.
Automatizējiet fonus un bloķēšanas ekrānus pārvaldītās vidēs (Intune, CSP, GPO)
Organizācijās, kurās tiek pārvaldītas ierīces, Nepietiek ar to, ka katrs lietotājs "iztiek" ar lokāliem skriptiem.Parasti fona attēls, bloķēšanas ekrāns un citi vizuālie elementi tiek definēti centrāli.
Šajos scenārijos ir vairāki faktori: Grupas politikas objekti (GPO), konfigurācijas pakalpojumu sniedzēji (CSP) un MDM risinājumi, piemēram, IntunePieredzes politikas CSP ļauj programmatiski mainīt Spotlight, fonu un ziņojumu darbību. GPO galvenokārt attiecas uz datoriem, kas pievienoti tradicionālajam Active Directory, savukārt Intune koncentrējas uz mākonī pārvaldītām ierīcēm (Entra ID, agrāk Azure AD).
Diezgan izplatīts modelis ietver iepakojumu PowerShell skripts kopā ar tapešu mapi un CSV konfigurācijas failuPiemēram, jums var būt skripts SetDesktop.ps1CSV fails SetDesktop.csv un mapi Wallpaper tajā pašā IntuneApp pakotnē. CSV failā ir iekļauti tādi parametri kā attēla faila nosaukums, attēlošanas stils (Aizpildīt, Pielāgot, Centrēt, Mozaīka utt.) un fona krāsa heksadecimālā formātā (#040E4C piemēram, tumši zilai krāsai).
Skripts nolasa CSV failu, kopējiet attēlu uz vēlamo vietu (bieži vien standarta maršruts, piemēram \IntuneApp\Wallpaper\wallpaper1.png) un pēc tam reģistrā pielāgo darbvirsmas fonu, stilu un pamatkrāsas vērtības. Lokālai testēšanai parasti tiek iekļauts neliels fails. SetDesktop.cmd kas izsauc skriptu interaktīvā režīmā. Kad ir pārbaudīts, vai tas darbojas, Tas tiek palaists automātiskajā režīmā. (piemēram, ar parametru -mode auto) lietošanai klusās izvietošanas laikā, izmantojot Intune.
Uzņēmumos, kas izmanto tādas sistēmas kā IntuneApp, cits CSV fails, piemēram intune_settings.csv definēt izvietošanas mērķauditorijuKuras ierīču vai lietotāju grupas saņem jauno fonu. Tas nodrošina lielu elastību, piemēram, piešķirot dažādas tapetes pēc nodaļas, valsts vai hierarhiskā līmeņa, manuāli nepieskaroties katrai ierīcei.
Ir svarīgi atcerēties, ka pat tad, ja foniem tiek izmantoti pielāgoti skripti, Spotlight var palikt aktīvs, lai parādītu ieteikumus, interesantus faktus vai ziņojumus no organizācijas. virs statiska korporatīvā tēla. Tādējādi tiek panākts korporatīvās vizuālās identitātes un dinamiska Microsoft satura apvienojums.
Fona attēli un bloķēšanas ekrāni ar ārējiem attēliem (Unsplash un līdzīgi)
Vēl viens ļoti populārs veids, kā automatizēt līdzekļus, ir iegūt līdzekļus no attēlu krātuves, piemēram, Unsplashkas piedāvā augstas izšķirtspējas fotoattēlus ar atļaujošām licencēm. Daudzi lietotāji izveido ikdienas skriptus, kas lejupielādē nejaušu attēlu vai attēlu no noteiktas kategorijas un izmanto to kā fonu un, ja iespējams, kā bloķēšanas ekrāna attēlu.
Tipisks modelis loģiku sadala divās daļās: no vienas puses, skripts, kas lejupielādē attēlu un vienmēr saglabā to ar tādu pašu nosaukumu (piemēram, C:\Wallpapers\daily.jpgAizstājot iepriekšējo failu ar citu, skriptu, kas izmanto šo failu fona un bloķēšanas ekrāna atjaunināšanai. Ieplānojot abus ar uzdevumu plānotāju (vispirms lejupielādi un pēc dažām minūtēm fona lietošanu), varat iegūt darbvirsmu, kas mainās automātiski katru dienu.
Tapetes gadījumā process ir identisks iepriekšējo piemēru aprakstam: mainīt HKCU:\Control Panel\Desktop un piespiediet atspirdzinājumu ar RUNDLL32.EXETomēr bloķēšanas ekrāna daļa var ietvert papildu pielāgojumus: Windows apstrādā šo attēlu, izmantojot īpašas atslēgas un politikas, kas ne vienmēr reaģē vienādi visās versijās, tāpēc parasti ir nepieciešama izmēģinājumu un kļūdu metode vai paļaušanās uz atjauninātu Microsoft dokumentāciju.
Tā kā šie skripti ir atkarīgi no ārēja pakalpojuma, tiem jāiekļauj kļūdu apstrāde un neliels lokāls žurnāls: žurnāla lejupielādes rezultāti, HTTP statusa kodi, izmantotais URL utt. Tas palīdz ātri noteikt, vai pakalpojumu sniedzējs maina API, vai ir tīkla problēmas vai vai korporatīvais starpniekserveris bloķē datplūsmu.
PowerShell kā automatizācijas un kiberdrošības rīks
Visi šie skaisto fonu piemēri ir balstīti uz dziļāku realitāti: PowerShell ir ārkārtīgi jaudīga automatizācijas platforma, kas integrēta operētājsistēmā Windows., ko izmanto gan likumīgai administrēšanai, gan, diemžēl, ļaunprātīgām darbībām.
No administrēšanas puses PowerShell ļauj izpētīt moduļus ar Get-Module -ListAvailableAtklājiet komandas ar Get-CommandTas var manipulēt ar reģistru, pārvaldīt pakalpojumus, strādāt ar IIS, datubāzēm un gandrīz jebkuru komponentu, kam ir API. Starpplatformu versija PowerShell Core ir paplašinājusi savu darbības jomu uz Linux un macOS, ļaujot to pašu loģiku atkārtoti izmantot jauktās vidēs.
Drošības ziņā Tā pati jauda ir ļoti pievilcīga uzbrucējiem.Standarta cmdlet var izmantot, lai atspējotu komponentus, piemēram, Microsoft Defender. Set-MpPreference -DisableRealTimeMonitoring $trueizslēdzot pilnus maršrutus ar Add-MpPreference -ExclusionPath "c:" vai pārbaudiet notikumu žurnālu, lai atrastu interesantas norādes ar Get-EventLogPat pati PowerShell vēsture var atklāt paroles, kas ierakstītas tieši konsolē.
PowerShell arī to atvieglo, bezfailu uzbrukumikoda izpilde tieši atmiņā. Ar tādām konstrukcijām kā Invoke-Expression (alias iexSkriptu var lejupielādēt no interneta un palaist acumirklī, nepieskaroties diskam, bieži vien apvienojumā ar tādiem parametriem kā -ExecutionPolicy Bypass y -nop lai apietu ierobežojumus un profilus. Nav nejaušība, ka daudzi PowerShell "joki" sastāv no rindas, kas izvelk URL saīsinātāju, piemēram, bit.ly atskaņot mūziku vai veikt citas darbības, neparādot faktisko skripta saturu.
Pēdējos gados ir notikusi izplatība aizskaroši PowerShell balstīti ietvariTādi rīki kā PowerSploit vai PowerShell Empire piedāvā veselas pēcekspluatācijas skriptu kolekcijas, sākot no taustiņu nospiedumu reģistrētājiem līdz akreditācijas datu ieguvei ar integrētiem rīkiem, piemēram, Mimikatz. Tas viss balstās uz PowerShell dziļo piekļuvi operētājsistēmai.
Aizstāvjiem vienkārši jābloķē. PowerShell.exe Tas neatrisina problēmu: jebkura .NET lietojumprogramma var ielādēt bibliotēku. System.Management.Automation.dll un no turienes palaist PowerShell komandas, apejot standarta izpildāmo failu. Tāpēc Mūsdienu risinājumi balstās uz uzvedības analīziUzraudzības procesi, komandrindas argumenti, reģistra un failu sistēmas piekļuve, kā arī tīkla savienojumi, lai noteiktu, vai PowerShell izmantošana ir pamatota (piemēram, mainot korporatīvo fonu) vai atbilst uzbrukuma ķēdes modelim.
EDR/XDR rīki, piemēram, SentinelOne, cita starpā, ir balstīti uz šo pieeju: Tie paši par sevi nebloķē PowerShell, bet gan atklāj aizdomīgus modeļus. reāllaikā. Tādā veidā netiek traucēta likumīga automatizācija (izvietošana, administrēšanas skripti, plānotas fona attēlu maiņas), bet tās izmantošana kā uzbrukuma vektors ir ierobežota.
Vizuāli/audio paziņojumi un atsauksmes PowerShell skriptos
Kad skriptu izpilde aizņem vairākas minūtes, skatīšanās konsolē var būt neticami nomācoša. Tāpēc daudzi administratori ķeras pie... radošo paziņojumu stratēģijas pakalpojumā PowerShell lai zinātu, kad kaut kas ir beidzies, nepaskatoties pa logu.
Klasiska iespēja ir skaņas brīdinājumi, izmantojot ::beep()kur ir norādīta frekvence un ilgums. Ar dažādām kombinācijām var izveidot mazus dzirdamus "kodus" vai pat atjaunot mītiskas melodijas, piemēram, Imperiālo maršu no Zvaigžņu kariem vai Atriebēju tēmu. Tā būtībā ir Rakstīšanas resursdatora skaņa, ideāli piemērots atskaites punktu atzīmēšanai garā skriptā.
Vēl viena pieeja ir vilkt Windows balss API, izmantojot SAPICOM objekta izveide SAPI.SpVoice un izsaucot savu metodi Speak()Skripts var skaļi nolasīt ziņojumus, ziņojot par uzdevuma progresu vai rezultātu. Ar dažām korekcijām var mainīt balsis, valodas vai lasīšanas ātrumu, piedāvājot daudzas iespējas gan produktivitātei, gan iekšējiem jokiem.
Turklāt Windows piedāvā vairākus veidus, kā informēt lietotāju, izmantojot dialoglodziņus un paziņojumu centru. Ar Add-Type -AssemblyName PresentationFramework To var izmantot ::Show() lai palaistu uznirstošos ziņojumus ar pogām (piemēram, Jā/Nē/Atcelt) un dažādām ikonām. Varat arī izveidot vizuālus sarakstus ar Out-GridView un opcija -PassThruļaujot lietotājam interaktīvā logā izvēlēties starp vairākām iespējām.
Lai saņemtu mazāk traucējošus paziņojumus, varat izmantot paziņojumu apgabala baloni, izmantojot System.Windows.Forms.NotifyIconSkripts izveido ar procesu saistītu ikonu un dažas sekundes sistēmas teknē parāda balona padomu ar pielāgotu ziņojumu. Tas ir ideāli piemērots, lai paziņotu lietotājiem, ka skripts ir pabeigts, nepārtraucot videozvanu vai notiekošo darbu.
PowerShell tīmekļa izvietojumos un infrastruktūrā
Ārpus tīri vizuālās sfēras, PowerShell ir būtisks tīmekļa infrastruktūru izvietošanai un pārvaldībaiīpaši serveros ar IIS. Ir skriptu kolekcijas, kas paredzētas darbam kopā ar tādiem rīkiem kā Web Deploy, vienkāršojot tīmekļa vietņu, lietojumprogrammu kopu un saistīto datubāzu izveidi un konfigurēšanu.
Starp šiem rakstiem ir tādi nosaukumi kā SetupSiteForPublish.ps1, CreateSqlDatabase.ps1, CreateMySqlDatabase.ps1 y AddDelegationRules.ps1Tie ir izstrādāti, lai automatizētu vietnes iestatīšanu, publicēšanas akreditācijas datu izveidi, SQL vai MySQL datubāzu nodrošināšanu un deleģēšanas noteikumu precizēšanu IIS, lai izstrādātāji varētu publicēt, nebūdami servera administratori.
Scenārijs SetupSiteForPublish.ps1, parasti tiek izpildīts bez parametriem izveidojiet noklusējuma vietni ar nosaukumu kaut kas līdzīgs WDeploySite ar fiziskām saknēm %systemdrive%\inetpub\WDeploySiteTas arī izveido īpašu lietojumprogrammu pūlu un saista lietojumprogrammu ar brīvu portu (piemēram, 8080). Turklāt tas izveido lokālu lietotāju bez plašām administratora privilēģijām, piešķir tam atļaujas vietnes mapei un pārvaldīt šo konkrēto vietni IIS, kā arī saglabā failu. .PublishSettings ar visiem nepieciešamajiem datiem publicēšanai no tādiem rīkiem kā WebMatrix vai Visual Studio.
Šis pats skripts atbalsta parametrus Pielāgojiet vietnes nosaukumu, fizisko ceļu, pūlu, portu, lietotājvārdu un paroli, pārvaldītās izpildlaika versija un publicēšanas konfigurācijas faila atrašanās vieta/nosaukums, kas ļauj to pielāgot gan jaunu vietņu izveidei, gan publicēšanas iespējošanai esošajās vietnēs.
Paralēli, CreateSqlDatabase.ps1 automatizē SQL Server datubāzes izveide ar savu lietotāju un atļaujām db_owneriekļaujot iegūto savienojuma virkni tajā pašā publikācijas failā. Parametri, piemēram, datubāzes nosaukums, SQL lietotājvārds, parole un administratora konts (piemēram, sa) un instance (.\SQLExpress noklusējuma).
Vidēm, kas izmanto MySQL, CreateMySqlDatabase.ps1 Tas veic līdzīgas funkcijas: Izveidojiet datubāzi un lietotāju ar pilnām privilēģijām uz to. un atjauniniet konfigurācijas failu ar nepieciešamo savienojuma virkni. Piekļuve parasti ir ierobežota localhostbet to var pārveidot, lai '%' atļaut attālinātu piekļuvi, ja to pieprasa arhitektūra (ar ar to saistītajiem riskiem).
Visbeidzot, AddDelegationRules.ps1 Deleģēšanas noteikumu konfigurēšana pakalpojumā IIS lai noteikti konti varētu mainīt applicationHost.config Atsevišķās jomās (piemēram, lietojumprogrammu kopu pārstrādē) nepiešķirot pilnīgas administratora privilēģijas serverī. Varat arī izveidot paaugstinātas tiesības tieši šiem uzdevumiem un iestatīt parametrus, lai kontrolēti pārvaldītu to akreditācijas datus.
Šī izvietošanas skripta filozofija atspoguļo to pašu ideju, ko esam redzējuši fondu automatizācijā: pārveidot atkārtotus un kļūdu pakļautus uzdevumus reproducējamos un dokumentētos procesos, neatkarīgi no tā, vai tas ir paredzēts, lai nodrošinātu, ka visiem lietotājiem ir vienāds korporatīvais fons, vai lai nodrošinātu, ka visi tīmekļa serveri vidē ievēro vienādu konfigurācijas modeli.
Visi šie lietojumi parāda, kā PowerShell kalpo gan darbvirsmas estētiskajām detaļām, gan kritiskajai infrastruktūrai un drošības slāņiemTās apgūšana ļauj automatizēt visu, sākot no vienkāršas Spotlight fonu rotācijas līdz sarežģītām vietņu un datubāzu izvietošanas iespējām, taču ar negatīvu pusi, ka ļaunprātīga izmantošana vai slikta drošības konfigurācija var pārvērst to par spēcīgu uzbrukuma vektoru.
Izpratne par to, uz ko koncentrēties (reģistrs, pakalpojumi, politikas, IIS, Intune), ir tas, kas atšķir ērtu un automatizētu vidi no tādas, kuru ir grūti uzturēt vai viegli apdraudēt. Kopīgojiet informāciju, lai vairāk lietotāju varētu uzzināt par šo tēmu.
