Masz plik tekstowy o następującej zawartości: server1.warsaw.pl server2.berlin.de server3.krakow.pl serwer4.gdansk.pl serwer5.tokyo.jp Chcesz wczytać go i jeżeli linijka kończy się na PL wyświetlić napis POLSKA, a jeśli adres kończy się na DE wyświetlić napis NIEMCY. Jeśli napis nie kończy się ani na PL ani na DE, należy wyświetlić INNY. Dobrze nadaje się do tego switch. Switch […]
Archiwum dla kategorii ‘Power Shell’
Powershell – analiza pliku z regex i switch
Powershell i wyrażenia regularne
Dajmy na to, że masz listę numerów telefonów: $list = '+48 123456789′,’123456789′,’0048 123456789′,’+48123456789′ Chcesz z niej wylistować tylko te, które mają budowę: +48 123456789 lub 0048 123456789 Czyli na początku +48 lub 0048, po czym występuje spacje i 9 cyfr. Odpowiada za to maska \+48 [0-9]{9}|0048 [0-9]{9} Definiujemy więc zmienną $mask: $mask = [regex]”\+48 [0-9]{9}|0048 […]
Powershell: Informacja o restarcie/wyłączeniu systemu
Jedna prosta komenda zwróci zapisy z logu systemowego o ostatnio wykonywanych restartach Windows. W logu znajduje się też informacja o tym kto zainicjował restart. Get-EventLog -LogName System -Source „USER32” | ? {$_.EventID -eq 1074} | select -First 10 | ft -wrap
Powershell: Contains nie działa!
Wykonuję: $query = logman query -s server01 W zmiennej $query pojawia się: Collection Type Status ————————————————————— XXXXX Counter Stopped YYYYY Counter Running System Overview Counter Stopped capacity Counter Running Teraz chcę sprawdzić czy w $query jest chociaż […]
Powershell: Uruchomienie z powershella kilku innych skryptów jednocześnie
W tym przypadku administrator tworzył sobie narzędzie, które jednocześnie ma zrestartować pewną liczbę serwerów, a następnie pingiem sprawdzać, czy serwery odpowiadają i kolorować: na zielono – odpowiada na czerwono – nie odpowiada jeżeli nie odpowiedział na 4 ping pod rząd a potem zaczął odpowiadać, to zmiana koloru na żółty Problemem było tylko jak uruchomić skrypt […]
Powershell: OutOfMemory exception podczas Invoke-Command
Podczas wykonywania polecenia Invoke-Command -computer … -script { … } wyskakuje błąd: + CategoryInfo : NotSpecified: (:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError Unhandled Exception: OutOfMemoryException. O co chodzi? W skrypcie przekazywanym o zdalnego wykonania wywoływany był program exe, który korzystał z większej ilości pamięci. Błąd OutOfMemory świadczy o tym, że tej pamięci zabrakło. […]
Get-WinEvent zwraca puste messages
Na komputerze z polskim windows, jest uruchamiana komenda Get-WinEvent -LogName System -ComputerName Comp001 -Credential $cred | where {$_.Id -eq 9052} Niestety w zwracanym wyniku właściwość Message jest pusta! To samo polecenie uruchomione lokalnie na tym komputerze działa poprawnie. Okazało się że jest to bug obecny w Powershell 3.0 i 4.0 (http://connectppe.microsoft.com/PowerShell/feedback/details/716533/get-winevent-does-not-return-the-content-of-the-event-message-in-v3-ctp2)