Mamy niby proste polecenie: ls -Recurse C:\Users\admin\Documents\| Select-Object Name,CreationTime | Where-Object -FilterScript {($_.CreationTime -lt (Get-Date).AddDays(-2) -and $_.Extension -eq „.txt”)} Niestety nic nie jest wyświetlane, a na pewno w tym katalogu są pliki TXT utworzone wcześniej niż 2 dni temu. O co chodzi? ls zwraca obiekty, które mają duuużo właściwości, między innymi Name, CreationTime i Extension […]
Archiwum dla kategorii ‘Power Shell’
Powershell: Błędu nie ma, a polecenie nie działa
Powershell: Write-Host, Write-Warning i inne polecenia z serii…
Zacznijmy od tego co to jest host. Jeśli administrujesz systemami, to pewnie hostem nazywasz komputer: „pingować hosta”, „logować się do hosta” itp. W przypadku powershella host to nie komputer, tylko program jakim łączysz sie do powrshella. Stąd też np polecenie Get-Host zwraca np wersję programu jakim się łączysz do powershella, a $PSVersionTable zwraca wersję powershella […]
Powershell: echo nie działa!
Popatrz na taki skrypt: function doSomething() { param($times) $i = 0 while ($i -lt $times) { echo „$i” $i++ } } doSomething 3 Jeśli go uruchomisz, to wszystko działa jak należy. Funkcja jest wywoływana, polecenie echo wyświetla wyniki. Ale wystarczy drobna zmiana:
PowerShell: ErrorActionPreference, a kontynuacja pracy komend
W poniższych przykładach wysyłamy zapytanie WMI do do komputera CantorXX (który nie istnieje) i localhost (który oczywiście istnieje i odpowiada poprawnie) CONTINUE To domyślna wartość ErrorActionPreference. Jak widać na obrazku poniżej polecenie po napotkaniu błędu zgłasza ten błąd, ale potem KONTYNUUJE i kontaktuje się z drugim komputerem SILENTLYCONTINUE Przy połączeniu do pierwszego komputera oczywiście dochodzi […]
PowerShell: Nadawanie uprawnień do plików i katalogów
Zdarza się, że na dysku znajdziesz dzwiwaczny folder, który powstał w trakcie intalacji lub aktualizacji i chcesz go usunąć, ale pojawia się komunikat o braku uprawnień. Jak to? Ja – administrator i brak uprawnień? Z jakiegoś powodu te „dziwne” foldery są pozabezpieczane! Dobrze się zastanów nim je rzeczywiście usuniesz lub w nich coś pozmieniasz… No […]
Powershell: Jak sprawdzić kiedy w clustrze wystąpił failover
Jedna prosta komenda: Get-winEvent -ComputerName $env:COMPUTERNAME -filterHashTable @{logname =’Microsoft-Windows-FailoverClustering/Operational’; id=1641}| ft -AutoSize -Wrap Właściwie każdy wie, że takie zdarzenia trafiają do loga. Spryt polcecenia polega na wyfiltrowaniu tylko tych zdarzeń, które rzeczywiście są potrzebne.
Powershell: Get-History
Kiedy pracujesz z PowerShell, konsola śledzi i zapamiętuje każdy twój ruch. Dzięki temu można przejrzeć listę wykonywanych do tej pory poleceń naciskając strzałkę w górę. Do przejrzenia wcześniej wykonanych poleceń można sie także posłużyć poleceniem Get-History Posiadając listę do tej pory wykonanych poleceń, możesz chcieć ponownie uruchomić jedną z nich. Da się to zrobić powołując […]