Како ресетовати апликације на Windows рачунарима
Ако ваша Подешавања или апликација из Microsoft продавнице не ради исправно, руши се или се не отвара, можете ресетовати апликацију.
Шта ако би ваш рачунар могао да обавља свакодневне задатке уместо вас? Са Windows PowerShell-ом, може. Ево како да користите PowerShell за аутоматизацију понављајућих, свакодневних задатака које нико не жели да ради изнова и изнова.
Садржај
Microsoft PowerShell је услужни програм командне линије и скриптни језик који је моћан алат за администраторе за аутоматизацију широког спектра задатака за рачунаре и мреже. PowerShell садржи компоненте командне линије и изграђен је на .NET фрејмворку. Ако читате о WebTech360, требало би да знате да је PowerShell алат по избору ИТ администратора за управљање великим мрежама.
Учење коришћења PowerShell-а поједноставиће многе заморне свакодневне задатке. Такође можете да правите измене на нивоу целог система преко мреже без потребе да појединачно конфигуришете сваки сервер. PowerShell постаје суштински део покретања хибридних облачних окружења .
PowerShell има много различитих употреба које вам помажу да ефикасније радите и да ваша мрежа ефикасно функционише. Најосновније употребе укључују: заказивање дневних ажурирања система, генерисање извештаја о тренутним процесима, периодичне услуге и још много тога. Иако се многи од ових задатака могу обавити путем графичког корисничког интерфејса, сврха PowerShell-а је да их брже обави.
Ако имате рутински задатак одржавања чије подешавање траје неколико минута, можете скриптовати исту функционалност у једну команду, под називом PowerShell. Затим, следећи пут када отворите тај скрипт, он ће се покренути у позадини. Савладавање логике PowerShell скриптовања, разумевање како објекти, var (променљиве) функционишу и његово интелигентно распоређивање широм ваше мреже натераће вас да се питате зашто нисте раније користили PowerShell.
Овај туторијал ће покрити основе PowerShell-а, што ће бити корисно за оне који су нови у ИТ-у, посебно ако сте упознати са Windows командном линијом. Образоваће како се користе основне алате и команде, како се ради са датотекама и фасциклама, како се разумеју објекти, како се користе променљиве и како се управља удаљеним серверима.
Након објављивања Windows NT-а, CMD.EXE је постао услужни програм командне линије за Windows. Иако је CMD.EXE наследио неке елементе од свог DOS претходника (COMMAN.COM), и даље је био заснован на прилично „примитивном“ скриптном језику: коришћењу Windows командних датотека (.CMD и .BAT). Додавање Windows Scripting Host-а и језика VBScript и JScript значајно је побољшало могућности скриптовања овог услужног програма.
Ове технологије представљају прилично уравнотежену мешавину напредних услужних програма командне линије и окружења за скриптовање. Права брига није колико CMD.EXE, .CMD и Windows Scripting Host датотека може бити манипулисано помоћу њих. Главна замерка и брига је обављање неких наизглед једноставних задатака.
Користећи „оквир“ алата командне линије и скриптовања, свака умерено свеобухватна скрипта захтева комбинацију пакетних команди, Windows Scripting Host-а и самосталних извршних датотека. Свака скрипта користи различите конвенције за извршавање и захтеве, парсирање и враћање података.
Лоша подршка за променљиве у CMD.EXE, недоследни интерфејси и ограничен приступ подешавањима Windows-а, у комбинацији са још једном слабошћу, отежавају имплементацију и коришћење скрипти командне линије. Шта је та „друга слабост“, можда се питате? То је текст. У овим технологијама, све је текст. Излаз команде или скрипте је текст и мора се анализирати и преформатирати да би служио као улаз за следећу команду. Ово је основна полазна тачка коју PowerShell преузима од свих традиционалних шкољки.
Три концепта представљена у овом одељку су само основе за разумевање кључних концепата који чине темељ PowerShell-а. Мораћете да потрошите више времена на учење и савладавање напреднијих концепата како будете приступали PowerShell командама.
PowerShell је подразумевано инсталиран у Windows 10, Windows 7, Windows Server 2008 R2 и новијим верзијама Windows-а. Новије верзије PowerShell-а додају нове функције и „cmdlets“ (Microsoft-ов термин за PowerShell команде - изговара се „command-lets“) и инсталирају се са одговарајућом верзијом Windows Management Framework-а (WMF).
Тренутно, WMF 5.1 је најновија препоручена верзија. У неким случајевима, неке нове функције зависе од оперативног система поред верзије WMF-а. На пример, Windows 8 и Windows Server 2012 подржавају командлет Test-NetConnection, који вам омогућава да тестирате повезивање са одређеним TCP/IP портом , али овај командлет није доступан у Windows-у 7 чак ни када се покреће најновија верзија WMF-а.
На већини Windows система, корисницима ће бити доступна два PowerShell окружења, PowerShell конзола и PowerShell ISE (Интегрисано окружење за скриптовање). PowerShell конзола изгледа као традиционална командна линија, али са пуном функционалношћу PowerShell-а. Имена променљивих, петље, аутоматско довршавање команди и упућивање су доступни из PowerShell конзоле.
За напреднију употребу (као што је писање скрипти), PowerShell ISE пружа аутоматско довршавање команди, истицање кода и Microsoft-ово Intellisense довршавање кода како би вам помогао да креирате и тестирате PowerShell код. PowerShell ISE вам такође омогућава да радите са више PowerShell скрипти истовремено користећи навигацију са картицама.
Основа PowerShell команди је cmdlet. Microsoft је усвојио неколико стратегија дизајна приликом креирања cmdlet-ова у PowerShell-у.
Прво је могућност лаког закључивања имена cmdlet-ова, или барем њиховог лакшег откривања. PowerShell команде или cmdlet-ови су такође дизајнирани да буду лакши за коришћење, са стандардизованом синтаксом, што олакшава креирање скрипти из интерфејса командне линије.
cmdlet команде користе формат Verb-Noun, као у Get-Service, Stop-Service или Import-Csv. Глаголски део имена cmdlet команде означава радњу која се извршава над именицом. Типично, cmdlet команде које се користе за преузимање информација имаће глагол Get у свом називу, као што су Get-Process или Get-Content . Команде које се користе за модификовање нечега обично почињу глаголом Set , а команде које се користе за додавање новог ентитета нечему обично почињу са Add или New .
Друго, параметрима који се обично користе у PowerShell-у такође се дају стандардизована имена. На пример, параметар -ComputerName омогућава извршавање cmdlet-а на једном или више удаљених рачунара. -Credential се користи за обезбеђивање објекта за аутентификацију, који садржи корисничке акредитиве, за покретање команде као одређени корисник.
Можете користити алијасе и за командлете и за параметре да бисте уштедели притиске тастера и скратили укупну дужину команде (корисно приликом повезивања више команди). Иако ови алијаси не користе увек стандардне конвенције именовања, они и даље одражавају традиционалне услужне програме командне линије.
У PowerShell-у, алијаси као што су DIR, CD, DEL и CLS одговарају командлетовима Get-ChildItem, Set-Location, Remove-Item и Clear-Host, респективно. Алијаси параметара могу да функционишу на два начина: могу да користе унапред дефинисани алијас који је обезбедио командлет или могу да се алијасирају уносом довољног броја знакова да би се креирало јединствено подударање између подржаних параметара командлета.
Већина систем администратора мора да манипулише датотекама и фасциклама током свог рада, било да се ради о премештању фасцикле на другу локацију на серверу, архивирању лог датотека или претраживању великих датотека. У случајевима када се исте операције понављају на многим датотекама, коришћење PowerShell-а за њихову аутоматизацију биће ефикасно решење за уштеду времена.
Да би пронашао датотеке и фасцикле, један од првих алата командне линије који би администратор научио у стара времена рачунарства била је команда dir. Dir ће приказати датотеке и фасцикле које се налазе у наведеном директоријуму.
PowerShell има сличну команду у облику Get-ChildItem командлета . Get-ChildItem вам омогућава да брзо направите листу датотека у директоријуму на такав начин да можете манипулисати датотекама путем команде pipe или доделити излаз променљивој.
Get-ChildItem се може користити једноставним навођењем путање, било кроз цевовод, коришћењем параметра -Path или директно након имена cmdlet-а. Да бисте изменили одговор који враћа Get-ChildItem, потребно је узети у обзир неке параметре које cmdlet ставља на располагање.
Параметар -Filter је један од начина на који можете претраживати датотеке. Подразумевано, Get-ChildItem враћа само директне потомке циљног директоријума. Ова функционалност се може проширити коришћењем параметра -Recurse , који рекурзивно претражује директоријуме који се налазе у тренутном директоријуму.
У PowerShell-у 4.0, Get-ChildItem је додата могућност ограничавања резултата на датотеке или директоријуме помоћу прекидача –File или –Directory . Претходне верзије PowerShell-а су морале да прослеђују резултате Where-Object-у, филтрирајући на основу својства PSIsContainer да би се ово утврдило. Пример обе технике које се користе за враћање директоријума садржаних у C:Users је приказан овде:
Get-ChildItem C:Users -Directory Get-ChildItem C:Users | Where-Object {$_.PSIsContainer –eq $true}
Да би се откриле скривене или системске датотеке, мора се користити -Force . Get-ChildItem у PowerShell-у 4.0 и новијим верзијама такође се може користити за враћање само скривених, датотека само за читање или системских датотека користећи -Hidden, -ReadOnly и –System , респективно. Слична функционалност се могла постићи у претходним верзијама филтрирањем својства Mode помоћу Where-Object:
Get-ChildItem C:Users | Where-Object {$_.Mode -like '*R*'}
Провери да ли датотека постоји
Обично када радимо са датотекама, све што треба да знамо је да ли датотека постоји или да ли је путања до директоријума валидна. PowerShell пружа cmdlet за то у облику Test-Path, који враћа вредност true или false.
Тест-Патх се користи као мера предострожности пре покушаја копирања или брисања одређене датотеке.
Копирајте, премештајте и бришите датотеке
Копирај-ставку: Копира једну или више датотека или директоријума са локације, одређене параметром -Путања, на локацију одређену опцијом -Одредиште.
Премести ставку: Премести датотеку или фасциклу.
Када се структура директоријума копира или премешта, треба користити -Recurse да би cmdlet извршио радњу на директоријуму и његовом садржају. У неким случајевима је потребан и -Force , као што је случај када се датотека само за читање пребрише операцијом копирања.
Уклони ставку: Обриши датотеку, фасциклу.
Прекидач -Force треба користити када се наиђе на датотеку само за читање, а -Recurse треба користити приликом брисања директоријума и његовог садржаја.
Коришћење PowerShell-а -WhatIf и -Confirm
Пре него што извршите озбиљно, масовно брисање, користите -WhatIf . -WhatIf вам омогућава да видите шта би се десило ако бисте покренули скрипту или команду и да ли би то имало неки потенцијално негативан утицај брисањем важних пословних података. Такође је вредно напоменути да -WhatIf није ограничен само на операције са датотекама, већ се широко користи у PowerShell-у.
За скрипте које намеравате да покрећете ручно или, још горе, имате зависне команде које се покрећу ручно, размислите о коришћењу опције -Confirm . Ово вам омогућава да захтевате интеракцију корисника пре него што се операција заправо изврши.
PowerShell скрипте = пакетне датотеке на стероидима
Сам PowerShell је написан у .NET језику и у великој мери је заснован на .NET Framework-у. Као такав, PowerShell је дизајниран као објектно оријентисана љуска и скриптни језик. Све у PowerShell-у се третира као објекат са свим могућностима .NET Framework-а. Команда открива колекцију објеката који се могу користити коришћењем својстава и метода тог типа објекта. Када желите да проследите излаз једне команде другој, PowerShell заправо прослеђује објекат, а не само текстуални излаз прве команде. Ово даје следећој команди потпун приступ свим својствима и методама објекта у цевоводу.
Третирање свега као објекта и могућност прихватања објеката између команди је велика промена у теорији услужних програма командне линије. Уз то, PowerShell и даље ради као традиционална љуска (shell). Команде, скрипте и извршне датотеке могу се куцати и покретати из командне линије, а резултати се приказују као текст. Windows .CMD и .BAT датотеке, VBScripts, JScripts и извршне датотеке које се покрећу унутар CMD.EXE и даље се покрећу у PowerShell-у. Међутим, пошто нису објектно оријентисане, немају потпун приступ објектима креираним и коришћеним у PowerShell-у. Ове застареле скрипте и извршне датотеке ће и даље све третирати као текст, али можете комбиновати PowerShell са низом других технологија. Ово је посебно важно ако желите да почнете да користите PowerShell са колекцијом постојећих скрипти које не можете конвертовати све одједном.
Cmdlets могу да прихвате параметре да би променили своје понашање. Када покрећете Cmdlet или функцију, можете дати вредности параметара да бисте одредили шта, када, где и како се свака PowerShell команда извршава.
На пример, Get-Process ће преузети и навести све покренуте процесе у вашем оперативном систему:
Али шта ако желите само да добијете одређени процес? То можете учинити помоћу параметара. На пример, да бисте добили све Slack процесе, можете користити параметар Name са Get-Process командлетом:
Get-Process -Name Slack
Тада ћете видети само процесе под називом „slack“:
Савет : Неки параметри су „позициони“, што значи да су њихова имена опционална. У овом случају, Get-Process -Name Slack и Get-Process Slack оба обављају исти задатак.
Свака cmdlet команда ће прихватити различите типове параметара. Користите команду Get-Help да бисте видели прихваћене параметре cmdlet команде у одељку SYNTAX.
Get-Help Get-Process
Видећете листу свих могућих начина на које можете покренути дату командлет:
У овом случају, Get-Process cmdlet прихвата параметре као што су Name, Id, ComputerName, Module, FileVersionInfo и друге уобичајене параметре. Симболи овде значе:
Симбол |
Име |
Значење |
---|---|---|
Бубањ |
Параметар не прихвата унос |
|
- |
Цртица |
Наведите назив параметра |
<> |
витичасте заграде |
Привремени текст |
[] |
Заграде |
Параметар може да прихвати једну или више вредности. |
{} |
витичасте заграде |
Параметар прихвата скуп вредности. |
Параметри прихватају скуп вредности које ће назначити тип података који су им потребни, као што су стринг, цео број, булов број или датум и време. На пример, следећа команда:
Get-Process [[-Name] ]
... значи да параметар Име прихвата једну или више стринг вредности, док ова команда:
Get-Process -Id
... значи да параметар Id прихвата једну или више целобројних вредности.
У претходном примеру Get-Process коришћен је параметар Name да би се сузили резултати. Међутим, ако желите да га сузите на конкретнији процес, можете користити параметар ID , који захтева цео број као што је наведено у његовој синтакси.
Get-Process -Id 3016
Тада ћете видети само један процес на листи:
PowerShell обрађује све податке као објекте. Да би се направио скрипт, ови објекти се покрећу кроз низ cmdlet-ова или функција повезаних помоћу симбола вертикалне црте (|). Избор правих cmdlet-ова и њихово повезивање у логичком низу помоћу цевовода је важно за ефикасан скрипт.
Претпоставимо да креирате скрипту за сортирање и приказивање 5 датотека које заузимају највише простора у директоријуму. Постоје моћнији начини за писање скрипте за сортирање датотека, али овај једноставан је лако разумети:
Да бисте то урадили у PowerShell-у, користите цевовод који изгледа овако:
Get-ChildItem -Path "C:\Directory" -File | Sort-Object Length -Descending `
| Select-Object -First 5 | Format-Table Name, Length -AutoSize
Сада када имамо радни цевовод, можете га сачувати као PS1 датотеку скрипте тако да га не морате увозити сваки пут када га користите.
Најједноставнији начин за креирање PS1 датотеке је да налепите скрипту у Notepad и сачувате датотеку са екстензијом .ps1.
Када креирате PS1 датотеку, можете је користити у PowerShell-у покретањем ./ScriptName.ps1 :
Савет : Ако добијете грешку у вези са дозволама, најбрже решење је да покренете PowerShell са администраторским правима приликом покретања скрипте.
Честитамо! Сада можете да креирате PowerShell PS1 скрипте.
Читање о сјајности нове технологије и разумевање њених могућности је једно, али њено заправо коришћење је сасвим друго! У остатку овог чланка, развићемо PowerShell скрипту како бисмо демонстрирали њене могућности и како је користити.
DIR је једна од најчешћих команди у CMD.EXE . Ова команда приказује све датотеке и поддиректоријуме који се налазе у надређеном директоријуму (као што је приказано на слици 1). Уз име сваког објекта, дате информације укључују датум и време последњег ажурирања и величину сваке датотеке. DIR такође приказује комбиновану величину свих датотека у директоријуму, као и укупан број датотека и поддиректоријума.
Слика 1
Покретање команде DIR у PowerShell-у такође производи листу директоријума као на слици 2, али на мало другачији начин. PowerShell нема команду DIR, већ уместо ње има Get-ChildItem, која обавља исту функцију. У PowerShell-у, DIR је алиас за Get-ChildItem. Не намеравам да се у овом чланку бавим алиасима. DIR у PowerShell-у можете сматрати скраћеницом за Get-ChildItem.
DIR у PowerShell-у пружа већину истих информација као што је горе поменуто: листу датотека и фасцикли, датум и време њихове последње измене и величину сваке датотеке. Међутим, недостају му резимиране информације које DIR у CMD.EXE-у пружа: укупну величину свих датотека у фасцикли, укупан број датотека и укупан број подфасцикли.
Слика 2
За пример сценарија, биће вам потребно да креирате PowerShell скрипту која симулира команду CMD.EXE DIR. У наставку ћу објаснити најважније делове скрипте.
DIR.PS1: Заглавље
PowerShell скрипта се састоји од PowerShell команди у обичној текстуалној датотеци са екстензијом .PS1. Уместо DIR, користили бисте текстуалну датотеку под називом DIR.PS1.
Да бисте покренули скрипту, откуцајте следећу команду на екрану PowerShell:
.DIR.PS1 X:Folder
Где је X слово партиције диска (као што су C, D, E), а Folder је име фасцикле.
Ако желите да сазнате неке информације о партицији диска, мораћете да користите Windows Management Instrumentation (WMI). Детаљи о WMI-ју превазилазе оквир овог чланка, тако да се овде нећемо бавити њима. Али PowerShell код испод је довољно једноставан за разумевање и без коришћења WMI-ја. Можете креирати променљиву „$filter“ коју ћете користити са командом Get-WmiObject. Овај филтер говори команди Get-WmiObject да желите само информације о одређеном диску. Резултати команде Get-WmiObject се чувају у променљивој под називом $volInfo. Запамтите, у PowerShell-у је све објекат; $volInfo је сада објекат који враћа Get-WmiObject.
$filter = "DeviceID = '" + $drive + ":'"
$volInfo = Get-WmiObject -Class Win32_LogicalDisk -Filter $filter
Сада имате приступ свим објектима и методама повезаним са објектом. Серијски број запремине је доступан преко својства VolumeSerialNumber. Враћени број је стринг од 8 знакова. Али често желите да га форматирате као четири броја, одвојена цртицом. може се урадити слично као у следећем реду. Цртица на крају првог реда је знак за наставак реда у PowerShell-у. Она у основи говори PowerShell-у да се ред не прекида и да укључује следећи ред. Преломи реда нису потребни приликом писања кода, али да бисте смањили ширину и учинили код читљивијим, требало би то да урадите.
$serial = $volInfo.VolumeSerialNumber.SubString(0, 4) + "-" + `
$volInfo.VolumeSerialNumber.SubString(4, 4)
Сада када имате објекат $volInfo, можете да испишете информације из заглавља DIR на екран. Ако диск нема име, текст исписан на екрану биће мало другачији него ако диск има име. Једноставна наредба If-Else се користи да би се проверило да ли је својство VolumeName празан стринг. Наредба Write-Host се користи за писање сваког реда текста на екран.
If ($volInfo.VolumeName -eq "") { Write-Host (" Volume in drive " + $drive + " has no label") } Else { Write-Host (" Volume in drive " + $drive + " is " + $volInfo.VolumeName) } Write-Host (" Volume Serial Number is " + $serial) Write-Host ("`n Directory of " + $args[0] + "`n")
Знак „ `n ” на почетку и крају команде Write-Host се користи за уметање новог реда пре и после текста. Команда Write-Host додаје нови ред на крај сваког реда. Дакле, ефекат „ `n ” је креирање празног реда пре и после текста.
Да ли сте приметили „-eq“ у команди If? То је оператор поређења једнакости. Табела испод приказује све операторе поређења:
-ек, -ек | Упореди по |
-не, -ине | Поређење није једнако |
-гт, -игт | Упореди веће од |
-ге, -иге | Упореди веће или једнако са |
-лт, -илт | Упореди мање од |
-ле, -ил | Упореди мање од или једнако са |
Знак -i испред оператора поређења означава да оператор не разликује велика и мала слова.
Слика 3: Излазни подаци скрипте коју тренутно имате
DIR.PS1: Листа датотека/фасцикли
Сада сте спремни да прикажете садржај и својства ове фасцикле. Прво што треба да урадите је да позовете PowerShell команду Get-ChildItem да бисте добили колекцију датотека и проследили је скрипти као параметар. Команда Get-ChildItem ће добити колекцију објеката датотека и фасцикли, не само њихова имена, већ ће и директно проследити ове објекте у команду Sort-Object да би их сортирала. Подразумевано, команда Sort-Object ће сортирати објекте на основу својства Name. Дакле, не морате да наводите никакве друге параметре. Сортирана колекција објеката ће затим бити сачувана у променљивој под називом $items.
$items = Get-ChildItem $args[0] | Sort-Object
Када имате колекцију објеката датотека и фасцикли, потребно је да их прођете кроз петљу и прикажете одговарајућа својства. Команда за ово је ForEach. За сваку датотеку или фасциклу, приказана својства ће бити датум и време последње измене, име, дужина или величина датотеке. Чудно изгледајући стрингови унутар заграда су .NET кодови формата стрингова. Користе се за лево/десно поравнавање поља и форматирање датума, времена и бројева. Разумевање ових кодова формата стрингова није веома важно, јер нису неопходни за природу овог скрипта.
Помоћу If наредбе одређујете да ли је објекат директоријум или не. Ако је први знак атрибута Mode „d“, објекат је директоријум. Потребно је да проверите још једном јер се код за директоријуме често разликује од кода за датотеке.
Обратите пажњу на линију $totalDirs++ унутар If наредбе. Ово је бројач који је одговоран за праћење броја директоријума. Слично томе, постоји променљива $totalFiles која се користи за праћење укупне величине свих датотека. Ове вредности се увек израчунавају током извршавања. Али се приказују тек када се процес листања датотека заврши.
ForEach ($i In $items)
{
$date = "{0, -20:MM/dd/yyyy hh:mm tt}" -f $i.LastWriteTime
$file = $i.Name
If ($i.Mode.SubString(0, 1) -eq "d")
{
$totalDirs++
$list = $date + " {0, -15}" -f "
" + " " + $file
}
Else
{
$totalFiles++
$size = "{0, 18:N0}" -f $i.Length
$list = $date + $size + " " + $file
}
$totalSize += $i.Length
Write-Host $list
}
Слика 4: Приказује излазне податке ажуриране скрипте.
DIR.PS1: Подножје
Једино што преостаје је да се на екран испише укупан број датотека, директоријума, укупна величина свих датотека и слободан простор на овој партицији диска. Да бисте то урадили, потребно је да користите променљиве бројача ($totalFiles, $totalDirs, $totalSize) креиране у претходном одељку. Количину слободног простора можете сазнати из променљиве $volInfo креиране на почетку скрипте.
Write-Host ("{0, 16:N0}" -f $totalFiles + " File(s)" + `
"{0, 15:N0}" -f $totalSize + " bytes")
Write-Host ("{0, 16:N0}" -f $totalDirs + " Dir(s)" + `
"{0, 16:N0}" -f $volInfo.FreeSpace + " bytes free`n")
Слика 5: Приказује комплетне излазне податке скрипте.
Прогнозе и побољшања могу бити
Иако скрипта коју креирате производи готово идентичан излаз као и команда CMD.EXE DIR, постоје нека упозорења којих би требало да будете свесни и нека побољшања која се могу направити.
Можете користити PowerShell за аутоматизацију скоро свега, попут групног преименовања датотека ради доследности или аутоматског покретања апликација. Хајде да напишемо неколико једноставних Windows PowerShell скрипти да бисмо видели како то функционише.
Напомена : Ако наиђете на грешку приликом извршавања скрипте у вези са политиком извршавања, можда ћете морати привремено да дозволите извршавање скрипте покретањем команде „Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass“.
Групно преименовање датотека у фасцикли
Можете користити PowerShell за копирање, премештање и брисање датотека на рачунару. Такође можете преименовати датотеке одређеног типа датотеке одједном. На пример, ево како можете преименовати више текстуалних датотека заменом префикса „oldco“ са „newco“ у њиховим именима датотека:
Get-ChildItem -Path "C:\CompanyFiles" -Filter "*.txt" | Rename-Item -NewName {$_.Name -replace "oldco","newco"}
У горњем скрипту, „.txt“ је филтер екстензије датотеке. Можете га изменити и подесити на .jpg, .docx итд. да бисте претраживали различите типове датотека.
Аутоматско покретање апликације
Ако сваки дан отварате исти скуп апликација, можете написати PowerShell скрипту да бисте их покренули једним кликом:
#Open multiple apps with a single click
Start-Process "notepad.exe"
Start-Process "calc.exe"
Start-Process "Chrome.exe"
Start-Process "slack.exe"
Налепите скрипту у датотеку Notepad-а и сачувајте је као LaunchFavoriteApps.ps1. Затим, само двапут кликните на датотеку да бисте покренули све апликације наведене у скрипти.
Копирајте важне датотеке на локацију за резервну копију
Можете периодично правити резервне копије важних датотека на локацију за резервне копије помоћу следећег скрипта. Обавезно промените изворну и одредишну путању по потреби:
#Copy MyFiles folder contents to MyFilesBackup in D:\
Copy-Item -Path "C:\Documents\MyFiles" -Destination "D:\MyFilesBackup" -Recurse
Пошто се свакодневно преузимају многе врсте датотека, фасцикла „Преузимања“ може брзо да се затрпа разним датотекама разбацаним около. Да бисмо ово решили, можемо да напишемо PowerShell скрипту која сортира преузете датотеке у фасцикле по типу датотеке на крају сваког дана.
Отворите нову датотеку у Notepad-у и налепите следећи скрипт. Обавезно промените путању изворне фасцикле у скрипти тако да се подудара са путањом фасцикле Преузимања:
# Change the source folder path below
$sourcePath = "E:\Downloads"
# Add file mapping folder names; the Others folder includes all the files that do not match file types in the other categories
$fileTypes = @{
"Documents" = @("*.docx", "*.pdf", "*.txt")
"Images" = @("*.jpg", "*.png", "*.gif")
"Media" = @("*.mp4", "*.mp3", "*.mov")
"Zip" = @("*.zip", "*.rar")
"ISO" = @("*.iso")
"Others" = @("*")
}
# Iterate through each folder type and prepare a destination folder for organizing files
foreach ($folder in $fileTypes.Keys) {
# Create the destination folder path
$destPath = Join-Path -Path $sourcePath -ChildPath $folder
# Check if the destination folder exists, and create it if it doesn't
if (!(Test-Path -Path $destPath)) {
New-Item -ItemType Directory -Path $destPath | Out-Null
}
# Move matching files from the source folder to the destination folder based on file type patterns
foreach ($pattern in $fileTypes[$folder]) {
Get-ChildItem -Path $sourcePath -Filter $pattern -File -ErrorAction SilentlyContinue | ForEach-Object {
try {
Move-Item -Path $_.FullName -Destination $destPath -Force -ErrorAction Stop
Write-Output "Moved: $($_.FullName) to $destPath"
} catch {
Write-Warning "Failed to move file: $($_.FullName). Error: $_"
}
}
}
}
Write-Output "Files organized successfully!"
Да бисте сачували датотеку, кликните на Датотека > Сачувај као и унесите OrganizeDownloadsFolder.ps1 као име датотеке. Затим кликните на Сачувај као тип и изаберите Све датотеке . Двапут кликните на датотеку OrganizeDownloadsFolder.ps1 да бисте покренули скрипту.
Наравно, писање скрипте је један део процеса аутоматизације. Други део је осигуравање да се скрипта може аутоматски извршити ради обављања задатка. Да бисмо то урадили, можемо креирати заказане задатке за покретање скрипте свакодневно или по потреби.
Отворите PowerShell, затим копирајте и налепите следећи скрипт и притисните Enter . Обавезно замените „J:\OrganizeDownloadsFolder.ps1“ пуном путањом до датотеке вашег скрипта OrganizeDownloadsFolder.ps1 .
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File 'J:\OrganizeDownloadsFolder.ps1'"
$trigger = New-ScheduledTaskTrigger -Daily -At "5:00 PM"
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "OrganizeDownloadsFolderDaily"
Када завршите, притисните Ентер . Скрипта ће креирати заказани задатак у Планеру задатака да би се скрипта за организацију датотека покренула сваког дана у 17:00 часова. Ако желите друго време, можете га изменити у горњој скрипти.
Поред тога, можете користити PowerShell за аутоматизацију других свакодневних задатака, као што је скрипта за праћење простора која вас упозорава када вам понестане слободног простора на примарном диску, заштита лозинком серија PDF докумената, па чак и примена живих позадина из фасцикле са сликама.
Иако је PowerShell моћан услужни програм и скриптни језик, потребно је мало времена да се разуме и користи, посебно ако нисте упознати са .NET Framework окружењем. Надам се да ће овај чланак и пример скрипте бити корисни свима који желе да разумеју PowerShell. Међутим, пример скрипте креиран у чланку је прилично једноставан. Верујем да се може комплетније изградити и развити како би служио сложенијим апликацијама.
Ако ваша Подешавања или апликација из Microsoft продавнице не ради исправно, руши се или се не отвара, можете ресетовати апликацију.
У чланку испод, позивамо вас да научите неколико једноставних примера команде PING на Windows-у!
Ова функција је изузетно корисна за одлагање непотребних задатака, осигуравање мрежне повезаности пре него што задатак почне, покретање задатака одређеним редоследом, заказивање ажурирања или обављање одржавања хардвера.
Шта је VPN, које су предности и мане VPN-а? Хајде да разговарамо са WebTech360 о дефиницији VPN-а, како применити овај модел и систем у раду.
Коришћење функције инверзије лупе на оперативном систему Windows 11 може побољшати читљивост текста, посебно за људе који су осетљиви на светлост.
Постоји много разлога зашто команда „Копирај/Налепи“ не ради на Windows рачунару, на пример ако је рачунар нападнут вирусом, међуспремник не ради и стога команде за копирање (Ctrl + C) и „Налепи“ (Ctrl + V) не раде. Дакле, како да поправите ову грешку, погледајте чланак испод на WebTech360.
Ако вам се не свиђају фотографије у оперативном систему Windows 10 и желите да прегледате фотографије помоћу програма Windows Photo Viewer у оперативном систему Windows 10, пратите овај водич да бисте пренели Windows Photo Viewer у Windows 10, што ће вам помоћи да брже прегледате фотографије.
Процес клонирања подразумева премештање података са једног уређаја за складиштење на други (у овом случају, чврсти диск) са тачном копијом копираном са одредишног диска.
Брзо покретање система Windows 11 помаже вашем рачунару да се брже покрене, али може бити и разлог зашто се ваш Windows рачунар не искључује потпуно.
Windows 11 има функцију која додаје дугме „Заврши задатак“ директно на траку задатака, тако да не морате да приступате Управитељу задатака да бисте затворили апликације које не реагују.
Понекад једноставно не можете да пронађете екстерни чврсти диск када вам је најпотребнији. Након што су неколико пута изгубили важне датотеке, неки људи су пронашли једноставан и поуздан начин да направе резервну копију свега, чак и када чврсти диск није доступан.
Ctrl + Z је изузетно честа комбинација тастера у оперативном систему Windows. Ctrl + Z вам у основи омогућава да поништите радње у свим областима оперативног система Windows.
Партиција за опоравак је посебна партиција на чврстом диску или SSD-у вашег рачунара и користи се за враћање или поновну инсталацију оперативног система у случају квара система.
Гомила нежељеног софтвера може да успорава и затрпа ваш рачунар. Али чишћење није увек лако. Зато погледајте ових 10 начина за потпуно деинсталирање апликација, уклањање старог софтвера у групама, деинсталирање ставки које се не могу деинсталирати, па чак и уклањање унапред инсталираних Windows програма.
Виртуелна машина на оперативном систему Windows 11 ће подржати кориснике да покрећу оперативни систем који није Windows директно на вашем рачунару.
Виндоус данас много боље штити вашу безбедност него што је некада био, али Виндоус безбедност и његови повезани алати и даље нису савршени. Морате бити опрезни са претњама за које рачунарска безбедност нема решење.
Windows рачунари понекад могу деловати споро, али Task Manager не приказује ништа сумњиво. У овој фази, већина људи проверава да ли постоји злонамерни софтвер или проблеми са складиштењем, али и застарели драјвери могу изазвати проблеме са перформансама.
Искључивање апликација које вам не требају је најефикаснији начин да помогнете бржем покретању вашег Windows рачунара.
Промена позадине у оперативном систему Windows 11 један је од најбољих начина за прилагођавање радне површине.
У овом чланку, Quantrimang ће вас водити кроз неке начине за исправљање грешке аутоматског поновног покретања Windows рачунара када се притисне дугме за искључивање.
Ако ваша Подешавања или апликација из Microsoft продавнице не ради исправно, руши се или се не отвара, можете ресетовати апликацију.
У чланку испод, позивамо вас да научите неколико једноставних примера команде PING на Windows-у!
Ова функција је изузетно корисна за одлагање непотребних задатака, осигуравање мрежне повезаности пре него што задатак почне, покретање задатака одређеним редоследом, заказивање ажурирања или обављање одржавања хардвера.
Шта је VPN, које су предности и мане VPN-а? Хајде да разговарамо са WebTech360 о дефиницији VPN-а, како применити овај модел и систем у раду.
Коришћење функције инверзије лупе на оперативном систему Windows 11 може побољшати читљивост текста, посебно за људе који су осетљиви на светлост.
Постоји много разлога зашто команда „Копирај/Налепи“ не ради на Windows рачунару, на пример ако је рачунар нападнут вирусом, међуспремник не ради и стога команде за копирање (Ctrl + C) и „Налепи“ (Ctrl + V) не раде. Дакле, како да поправите ову грешку, погледајте чланак испод на WebTech360.
Ако вам се не свиђају фотографије у оперативном систему Windows 10 и желите да прегледате фотографије помоћу програма Windows Photo Viewer у оперативном систему Windows 10, пратите овај водич да бисте пренели Windows Photo Viewer у Windows 10, што ће вам помоћи да брже прегледате фотографије.
Процес клонирања подразумева премештање података са једног уређаја за складиштење на други (у овом случају, чврсти диск) са тачном копијом копираном са одредишног диска.
Брзо покретање система Windows 11 помаже вашем рачунару да се брже покрене, али може бити и разлог зашто се ваш Windows рачунар не искључује потпуно.
Windows 11 има функцију која додаје дугме „Заврши задатак“ директно на траку задатака, тако да не морате да приступате Управитељу задатака да бисте затворили апликације које не реагују.