Artykuł systemy i administracja IT
Bartłomiej Róg | 2022-01-05

PowerShell – 5 najczęściej wykorzystywanych komend/skryptów

PowerShell jest potężnym narzędziem, które znacznie usprawnia i ułatwia pracę administratora. Pozwala na wprowadzenie setek czy tysięcy zmian kilkulinijkowym skryptem. Po przeczytaniu tego artykułu, dowiesz się jakie komendy oraz skrypty PowerShell są wykorzystywane najczęściej. Do każdej komendy podany jest przykład, którego być może użyjesz lub już użyłeś w praktyce.

Instrukcja ForEach lub ForEach-Object

Pętla jest nieoceniona przy działaniach na wielu obiektach. Pozwala na wykonanie akcji na każdym obiekcie z danej kolekcji. Warto dodać, że jeżeli używasz ForEach na początku wiersza, to jest to instrukcja. Umieszczając ją po pipeline, PowerShell traktuje ją jako alias do komendy ForEach-Object. Pokrótce komendy te różnią się szybkością oraz wykorzystaniem pamięci. ForEach jest szybsza, ForEach-Object wykorzystuje mniej zasobów. Brzmi skomplikowanie? W praktyce wygląda to dużo łatwiej. Dla przykładu:

#Skrypt zmieniający domenę w adresach mailowych wszystkich użytkowników w Active Directory. #W tym przykładzie ForEach traktowana jest jako oddzielna instrukcja. Import-Module ActiveDirectory #Import modułu Active directory. #Jest niezbędny do uruchomienia komend Get-ADUser oraz Set-ADUser. $ADusers = Get-ADUser -Filter * #Tworzenie kolekcji $ADusers. Zawiera ona wszystkich użytkowników w AD. #Pętla foreach dla kolekcji $ADusers. Każdy pojedyńczy obiekt oznaczony jako $ADuser. foreach ($ADuser in $ADusers) {    $email = $ADuser.samaccountname + '@domena.pl'    #Tworzenie zmiennej $email.    #Zmienna zawiera nazwę użytkownika wraz z dodanym przyrostkiem @domena.pl.    #np. dla użytkownika jan.kowalski będzie to jan.kowalski@domena.pl.    Set-ADUser -Identity $ADuser.samaccountname -EmailAddress $email    #Ustawienie wyżej utworzonej zmiennej jako adres mailowy. } #Zawartość pętli wykona się dla każdego użytkownika w kolekcji $ADusers.

oraz

#Skrypt zmieniający domenę w adresach mailowych wszystkich użytkowników w Active Directory. #W tym przykładzie użyję ForEach-Object. Import-Module ActiveDirectory #Import modułu Active directory. #Jest niezbędny do uruchomienia komend Get-ADUser oraz Set-ADUser. $ADusers = Get-ADUser -Filter * #Tworzenie kolekcji $ADusers. Kolekcja zawiera wszystkich użytkowników w AD. #Przesyłanie zawartości $ADusers do ForEach-Object za pomocą pipeline. #W tym wypadku do identyfikacji pojedyńczego obiektu w kolekcji użyta jest zmienna $_ zamiast $ADuser. $ADusers | ForEach-Object{    $email = $_.samaccountname + '@domena.pl'    #Tworzenie zmiennej $email.    #Zmienna zawiera nazwę użytkownika wraz z dodanym przyrostkiem @domena.pl.    #np. dla użytkownika jan.kowalski będzie to jan.kowalski@domena.pl.    Set-ADUser -Identity $_.samaccountname -EmailAddress $email    #Ustawienie wyżej utworzonej zmiennej jako adres mailowy.     } #Zawartość pętli wykona się dla każdego użytkownika w kolekcji $ADusers.

Import-Csv / Export-Csv                       

Jak bardzo ograniczony byłby PowerShell bez możliwości zapisu oraz odczytu z pliku? Komendy Import-Csv / Export-Csv są rozwiązaniami do operacji na zewnętrznych danych, których używa się najczęściej. Import-Csv pozwala zaimportować dane z pliku CSV do naszego skryptu. Analogicznie Export-Csv wyeksportuje dane, zapisując je w formacie CSV.

Export-Csv:

#Skrypt eksportujący listę procesów do pliku CSV. $process = Get-Process #Tworzenie zmiennej $process. #Zmienna zawiera listę procesów. $process | Export-Csv -Path C:\temp\process.csv #Przekazanie $process za pomocą pipeline | do komedy Export-Csv. #Komenda Export-Csv zapisuje zmienną $process w lokalizacji C:\temp\ jako plik process.csv.

Import-Csv:

#Skrypt importujący numery telefonów z pliku csv. Import-Module ActiveDirectory #Import modułu ActiveDirectory. #Jest niezbędny do uruchomienia komendy Set-ADUser. $NumbersList = Import-Csv -Path C:\temp\numbers.csv #Import pliku numbers.csv, znajdującego się w lokalizacji C:\temp\numbers.csv do $NumbersList. #Rozpoczęcie pętli foreach. #Pętla wykonuje się dla każdego wiersza w pliku numbers.csv. foreach ($Number in $NumbersList){ Set-ADUser -Identity $Number.samaccountname -MobilePhone $Number.telephonenumber #Przypisanie użytkownikowi w AD numeru telefonu z zaimportowanego pliku. }

Plik numbers.csv:

"samaccountname","telephonenumber" "test.user1","145345345" "test.user2","123123123" "test.user3","145445661" "test.user4","125345345" "test.user6","115213721" "test.user7","155345345" "test.user8","176876555" "test.user9","122533345" "test.user10","999999999"

Select-Object

Prosta i niezwykle przydatna komenda, która wybiera obiekt lub jego właściwości. W poniższym przykładzie wybierani są użytkownicy, którzy logowali się na swoje konto w ciągu ostatnich 30 dni. Interesuje Cię nazwa użytkownika oraz data ostatniego logowania. – Możesz uzyskać te właściwości właśnie za pomocą Select-Object.

#Skrypt wyświetlający nazwę konta oraz ostatnią datę logowania kont zalogowanych w ciągu ostatnich 30 dni. Import-Module ActiveDirectory #Import modułu Active directory. $Date = (get-date).adddays(-30) #Utworzenie zmiennej $Date. #Zmienna zawiera datę 30 dni wstecz. Get-ADUser -properties * -filter {(lastlogondate -ge $Date)} | Select-Object samaccountname,lastlogondate #Wybranie kont, których lastlogondate jest późniejszy lub równy $Date. #Dzięki Select-Object wynik zostanie wyświetlony w postaci: #samaccountname lastlogondate #konto1         01.01.2021 01:01:01 #konto2         02.01.2021 02:02:02 #...

Where-Object

Poprzez Where-Object, możesz wybrać interesujące Cię obiekty na podstawie ich atrybutów. Często funkcje komendy Where-Object przejmuje parametr filter. Wykorzystanie filtru znacznie skraca czas wykonania skryptu, lecz nie jest on dostępny dla każdej komendy. W takim wypadku z pomocą przychodzi Where-Object.

#Skrypt wyświetlający konta z departamentu "Test" Import-Module ActiveDirectory #Import modułu Active directory. Get-ADUser -Filter 'Department -eq "Test"' #Wybieranie kont za pomocą parametru -Filter Get-ADUser -Properties Department -Filter * | Where-Object Department -eq 'Test' #Wybieranie kont za pomocą Where-Object. #W tym wypadku wynik polecenia Get-ADUser jest przesyłany do Where-Object za pomocą pipelne.

Get-ChildItem

Get-ChildItem zwraca pliki znajdujące się w podanych lokalizacjach. Za pomocą tej komendy możesz wyszukiwać pliki lub sprawdzać interesujące Cię właściwości. Poniżej przykład użycia:

#Skrypt wyświetlający zawartość folderu $path wraz z podfolderami. $path = 'C:\test\*.*' #W zmiennej path umieszczona jest lokalizacja, która będzie przeszukiwana. Get-ChildItem -Path $path -Recurse #Dzięki parametrowi -Recurse, zawartość folderu $path jest przeszukiwana wraz z podfolderami.

Podsumowanie PowerShell najczęściej korzystane komendy

Najczęściej używane komendy różnią się w zależności od rozwiązań IT w środowisku pracy. Powyższa lista oparta jest na doświadczeniach administratora IT, pracującego na systemach Windows Server.  Podane przykłady skryptów, po przetestowaniu bez problemu można zastosować w środowisku produkcyjnym. Czy Ty także na co dzień korzystasz z PowerShell’a? Być może warto zastanowić się jakich komend używasz najczęściej?

Potrzebujesz wsparcia informatycznego? Support Online to firma outsourcingowa, która od ponad 20 lat świadczy kompleksowe usługi informatyczne dla firm. Nasze usługi świadczymy na terenie całej Polski oraz za granicą. Oferujemy nowoczesne rozwiązania oparte na naszej wiedzy i doświadczeniu:
- helpdesk 24/7
- serwery dedykowane
- chmura prywatna
to tylko niektóre punkty z naszej oferty.

Zapraszamy do kontaktu!

Bartłomiej Róg - Administrator IT w Support Online
Powiązane artykuły
Artykuł
| Bezpieczeństwo IT i cyberbezpieczeństwo Bezpieczeństwo firmy w dobie ataków hakerskich Bezpieczeństwo danych to podstawa działania wielu firm z sektora księgowego, prawnego, produkcyjnego, handlowego czy szeroko pojętego konsultingu. Czytaj dalej
Artykuł
| Bezpieczeństwo IT i cyberbezpieczeństwo Czym jest malware i jak się przed nim chronić? Zagrożenia związane z cyberprzestępczością stają się coraz bardziej powszechne. Jednym z najpoważniejszych problemów, z jakimi muszą zmagać się użytkownicy komputerów i urządzeń Czytaj dalej
Artykuł
| Bezpieczeństwo IT i cyberbezpieczeństwo Google Cloud Platform – opis platformy Google Cloud Platform (GCP) to platforma chmurowa oferowana przez firmę Google, która dostarcza szeroki zakres usług obliczeniowych, przechowywania danych, analityki i sztucznej inteligencji. Czytaj dalej
Twoje IT.
nasze
wsparcie.
Skontaktuj
się z nami

Administratorem Państwa danych osobowych jest Support Online sp. z o.o. Państwa dane osobowe będą przetwarzane w celu udzielenia odpowiedzi na Państwa zapytanie oraz w przypadku udzielenia stosownej zgody również w celu wysyłki biuletynu informacyjnego SOL. O szczegółowych zasadach przetwarzania danych osobowych przez naszą organizację mogą Państwo przeczytać w naszej Polityce prywatności.

FAQ

Firma IT, czyli firma informatyczna, zajmuje się szeroko pojętymi technologiami informacyjnymi. Obejmuje to między innymi:

  1. Projektowanie i tworzenie oprogramowania: Firma IT może tworzyć aplikacje na zamówienie dla innych firm lub produkty oprogramowania dla masowego rynku. W zależności od specjalizacji mogą to być aplikacje mobilne, aplikacje desktopowe, aplikacje webowe czy systemy wbudowane.
  2. Usługi konsultingowe: Firma IT często dostarcza ekspertów w celu doradztwa w zakresie wdrażania nowych technologii, optymalizacji procesów biznesowych czy też wyboru odpowiednich rozwiązań technologicznych.
  3. Rozwiązania chmurowe: Wiele firm IT specjalizuje się w wdrażaniu i zarządzaniu rozwiązaniami w chmurze, takimi jak przechowywanie danych, hosting aplikacji czy platformy do analizy danych.
  4. Bezpieczeństwo informatyczne: Ochrona przed cyberatakami, audyt bezpieczeństwa, wdrażanie polityk bezpieczeństwa oraz monitorowanie sieci to tylko niektóre z zadań firm IT w tej dziedzinie.
  5. Zarządzanie infrastrukturą IT: W tym zakresie firma może zajmować się zarządzaniem serwerami, bazami danych, sieciami czy urządzeniami końcowymi użytkowników.
  6. Wsparcie techniczne i serwis: Firma IT może dostarczać wsparcie dla swoich produktów lub ogólnie wsparcie IT dla innych firm, zarządzając ich technologią na co dzień.
  7. Szkolenia: Wielu dostawców technologii informacyjnych oferuje również szkolenia w zakresie korzystania z oprogramowania czy bezpiecznego korzystania z technologii.
  8. Rozwiązania hardware: Niektóre firmy IT mogą także zajmować się dostarczaniem i konfiguracją sprzętu komputerowego, serwerowego czy sieciowego.

W zależności od specjalizacji i wielkości, firma IT może oferować jedno, kilka lub wszystkie z powyższych rozwiązań. Ważne jest, aby przy wyborze dostawcy dokładnie zrozumieć zakres ich usług i dopasować je do indywidualnych potrzeb.

W Support Online od lat wspieramy firmy w

  1. kompleksowym wsparciu użytkowników (zarówno na miejscu jak również zdalnie),
  2. obsługujemy komputery, telefony, tablety oraz problemy sieciowe z nimi związane,
  3. specjalizujemy się w administracji serwerami: Windows, Linux/Unix,
  4. obsługujemy wirtualizatory takie jak: KVM, Hyper-V, VMWare czy Proxmox,
  5. obsługujemy serwisy chmurowe w szczególności rozwiązania: Azure, Microsoft 365 oraz AWS,
  6. monitorujemy serwery oraz urządzenia w sieci internetowej,
  7. konsultujemy rozwój, DRP oraz wspieramy stabliność przedsiębiorstwa w warstwie informatycznej,

Jeśli szukasz dobrej firmy informatycznej to myślmy, że Support Online to dobre miejsce dla rozwoju Twojego biznesu.

Warto skorzystać z firmy informatycznej (IT) taka jak Support Online gdy:

  1. Planujesz wdrażać nowe technologie lub oprogramowanie w swojej firmie.
  2. Potrzebujesz specjalistycznego doradztwa w zakresie technologii.
  3. Chcesz zoptymalizować istniejące procesy informatyczne.
  4. Zmagasz się z problemami bezpieczeństwa cyfrowego.
  5. Potrzebujesz wsparcia w zarządzaniu infrastrukturą IT.
  6. Brakuje Ci wewnętrznych zasobów lub kompetencji do realizacji pewnych projektów technologicznych.

Korzystanie z ekspertów zewnętrznych IT może przynieść korzyści w postaci oszczędności czasu, zasobów oraz zapewnienia wysokiej jakości rozwiązań.

Wynajęcie firmy informatycznej takiej jak Support Online w porównaniu z freelancerem IT oferuje kilka kluczowych korzyści:

  1. Wsparcie całego zespołu: Firma informatyczna IT dysponuje pełnym zespołem specjalistów od DevOps, Cyber Security Specialist po Helpdesk IT Specialist, którzy posiadają różnorodne umiejętności i doświadczenie, umożliwiając szybsze rozwiązanie problemów i realizację bardziej złożonych projektów.
  2. Wiarygodność i stabilność: Firmy IT mają ustaloną reputację i historię, co może przekładać się na większą pewność i stabilność usług.
  3. Utrzymanie i wsparcie: Firma informatyczna może oferować umowy serwisowe, gwarancje i wsparcie posprzedażowe, które mogą być trudniejsze do uzyskania od indywidualnego freelancera.
  4. Zasoby: Firmy mają dostęp do większej ilości zasobów, narzędzi i technologii, które mogą przyspieszyć i ulepszyć realizację projektu.
  5. Dłuższa dostępność: Ryzyko zniknięcia freelancera lub zmiany zawodu jest większe niż ryzyko likwidacji stabilnej firmy.

Jednakże warto zaznaczyć, że wybór pomiędzy firmą a freelancerem zależy od konkretnych potrzeb i sytuacji. Jeśli cenisz sobie spokój i szybką reakcję na niespodziewane problemy warto postawić na firmę IT taką jak Support Online.

Współpraca z firmą IT Support Online oferuje następujące zalety:

  1. Profesjonalny outsourcing IT: Firma gwarantuje wysoką jakość świadczonych usług w zakresie outsourcingu IT dla przedsiębiorstw różnej wielkości.
  2. Kompleksowe wsparcie informatyczne: IT Support Online dostarcza wszechstronne wsparcie informatyczne, które odpowiada na różne potrzeby przedsiębiorstw.
  3. Oszczędność czasu i pieniędzy: Dzięki wsparciu firmy, klient może skoncentrować się na swoich głównych działaniach biznesowych, jednocześnie redukując koszty związane z zarządzaniem technologią informacyjną.
  4. Obsługa różnorodnych firm: Firma specjalizuje się w obsłudze zarówno małych i średnich przedsiębiorstw, jak i dużych korporacji, co świadczy o jej elastyczności i zdolności dostosowywania się do różnorodnych wymagań klientów.
  5. Lider w obszarze outsourcingu IT: Firma jest uznawana za lidera w dziedzinie outsourcingu IT, zwłaszcza w regionie Poznania i Warszawy.

Współpracując z naszą firmą IT Support Online, przedsiębiorstwa mogą liczyć na wysoki standard obsługi oraz profesjonalizm na każdym etapie współpracy.

Bezpłatna konsultacja
22 335 28 00