Powershell: sprawdzanie, czy port jest otwarty

2017-08-16

Im bardziej skomplikowana i zabezpieczona jest infrastruktura sieciowa, tym trudniej jest diagnozować występujące problemy. Weźmy na przykład kwestię serwera, do którego nie można się połączyć przez RDP lub do serwera SQL. Jeśli serwer występuje w tej samej sieci, w tym samym segmencie, to jednym z podstawoych testów, jakie mogły by być wykonane jest ping sprawdzający czy serwer w ogóle odpowiada i jest włączony. Niestety jeśli między maszynami znajdują sie zapory sieciowe (firewall), to ping może nie działać (wyłączony ICMP), ale połączenie RDP (port TCP/3389. UDP/3389) lub SQL (tcp/1433) mogą być dostępne.

Do niedawna w takich przypadkach korzystałem z polecenia portqry.exe, np

portqry -n <server_name> -t <protocol> -e <port_number>

portqry -n CANTOR10 -t tcp -e 3389

Nie wszyscy są świadomi, że właściwie na nowszych systemach wcale nie ma potrzeby korzystania z zewnętrznego programu. Można korzystać z cmdlet Test-NetConnection:

Test-NetConnection -computer CANTOR10 -protocol tcp -port 3389

Można zaryzykować stwierdzenie, że Test-NetConnection to taki „ping na port”. Niektórzy w celu sprawdzenia otwarcia portu korzystają również z polecenia telnet otwieranego na określony port. Wydaje się jednak, że Test-NetConnection robi to co należy i jak należy w stosunkowo prosty sposób.

By Rafał Kraik in Power Shell

Powershell: wyświetlenie informacji o procesie i użytkowniku jednocześnie

2017-08-02

Jak zwykle w powershell zadanie można zrealizować na dziesiątki sposobów, a ten poniżej to tylko jedna z propozycji

Get-WmiObject win32_process | 
  Foreach { `
       $ret=@{}; `
       $ret['ProcessName']=$_.Name; `
       $ret['Owner']=$_.GetOwner().User; `
       $obj =New-Object -TypeName PSObject -Property $ret; `
       $obj }

Co takiego się tutaj dzieje?

  • Ponieważ polecenie Get-Process samo w sobie nie posiada możliwości wyświetlenia właściciela procesu korzystamy z Get-WmiObject dla klasy Win32_process, które…
  • samo w sobie również nie ma informacji o użytkowniku, ale…
  • posiadając obiekt klasy win32_process, można wywoływać jego metody.
  • Dlatego dla obiektu $_ (konkretny proces) wywołujemy metodę GetOwner() i ze zwróconego obiektu pobieramy tylko nazwę użytkownika – reszta nas obecnie nie interesuje.
  • Znalezione informacje o nazwie procesu i właścicielu umieszczamy w tablicy hashowanej $ret. Do deklarowania tablicy hash korzystamy z $ret=@{}, a następnie przypisujemy omówione wcześniej: nazwę procesu i właściciela.
  • Mając hash table łatwo jest stworzyć obiekt. Po prostu wywołujemy New-Object wskazując że ma to być generyczny (pusty) obiekt a jego właściwości mają być pobrane z hash table, czyli będą to nazwa procesu i nazwa użytkownika.
  • Ostatnia linijka zwraca ten obiekt. Voila!

By Rafał Kraik in Power Shell

Praca: Szukam nowych kolegów/koleżanek do zespołu SQL w Katowicach…

2017-07-13

Szukam nowych kolegów/koleżanek do zespołu SQL w Katowicach…

Jeśli szukasz nowych wyzwań, coś już wiesz o SQL i chcesz wiedzieć jeszcze więcej to daj znać. Ponieważ ilość serwerów którymi się opiekuję rośnie szybciej niż idzie automatyzacja, przydałaby się pomoc. Napisz maila z informacją o swoich doświadczeniach SQL-owych i nie tylko. Nie będę się tu rozpisywał o młodym dynamicznym zespole ani o prywatnej opiece medycznej ani nawet o wymaganych kwalifikacjach. Stanowisk do obsadzenia jest kilka. Praca w Katowicach, ale odezwij sie nawet jeśli jesteś z województw ościennych. Z nami można  się dużo nauczyć! Czekam 🙂 Pisz na adres kontakt@mobilo24.eu

By Rafał Kraik in Aktualności

Kurs SQL Server Reporting Services – Tworzenie raportów

2017-07-13

Już jest!

  • 103 lekcje,
  • ponad 4 godziny video
  • do każdego filmu quiz i ćwiczenie praktyczne
  • dostęp bez ograniczeń czasowych (lifetime access)
  • możliwość uuruchamiania kursu na komputerze lub smartfonie 

Żeby podzielić się chwilą „sukcesu” przez kilka dni kurs jest dostępny za darmo! Ja się cieszę cziesz się i Ty!

Szkolenie SQL Server Reporting Services – Tworzenie raportów powstał z dwóch głównych powodów:

  • wiem jak fantastyczne raporty można tworzyć za jego pomocą i jakie robią wrażenie na odbiorcach
  • pamiętam, jak samodzielnie trudno mi było zrozumieć kilka w gruncie rzeczy prostych zasad pracy z SSRS

Kurs w całości jest poświęcony tworzeniu raporów, czyli pracy wykonywanej przez programistów, zaawansowanych użytkowników, managerów, analityków. Zaczynamy od „wyklikania” pierwszego prostego  raportu za pomocą kreatora. Potem robimy to samo ale zaczynamy od przerażającej pustej kartki. Dowiesz się więc wielu szczegółów na temat budowy raportu  i poznasz od środka właściwości najważniejszych kontrolek.

Użytkownicy lubią nie tylko w 100% gotowe raporty. które coś tam prezentują. Raport może być dynamiczny i pozwalać okeślać użytkownikowi co będzie wyświetlone. Dlatego jedna sekcja jest poświęcona parametrom: tym całkiem prostym, ale także pobieranym z bazy danych, hierarchicznym, i multivalue parameters.

Do każdego materiału video dostępny jest quiz. 3 pytania, na które nie powinno być problemu z odpowiedzią, bo co do zasady pytam tylko o to co było w czasie filmu. Quiz pozwala ci sprawdzić na ile uważałeś. Do każdej lekcji dostępne też są zadania do samodzielnego rozwiązania. Te ćwiczenia pozwalają ci samodzielnie spróbować sił. Nie czarujmy się. Jak czegoś sam nie przećwiczysz, to nie będziesz tego pamiętać.

A czego na kursie nie ma lub jest bardzo mało? Nie ma administracji Reporting Services, ale na to przyjdzie kolej w innym kursie, jeśli tylko ten temat się Wam spodoba!

Nie czekaj i zapisz się już dzisiaj klikając link. W zamian proszę o wystawienie oceny, kiedy już zostaniesz o to poproszony/a.

Kurs SQL Server Reporting Services

(Chcesz być powiadamiany o nowych wpisach na stronie? Zasubskrybuj bloga  formularzem w menu >>>)

Przy okazji zapoznaj się też z moimi innymi kursami o SQL i Powershell. Korzystając z tych odnośników cena robi się bardzo atrakcyjna:

Kurs SQL Server #2 - Zapytania SQL
Kurs SQL Server #3 - Programowanie, typy zaawansowane, XML Kurs Reporting Services - Tworzenie raportów
Kurs PowerShell dla administratora Windows Course Sybase - Installation and Configuration

 

 

By Rafał Kraik in Aktualności

Windows: Kto się podłączył do mojego serwera!?

2017-07-12

W nowszych serwerach, kiedy łączysz się przez RDP i jesteś administratorem, a wszystkie sesje są zajęte, to zobaczysz listę zalogowanych użytkowników. Możesz wybrać kolegę, który najbardziej ci podpadł i wylogowć go. Niestety w starszych windowsach zobaczysz tylko komunikat o tym, że nie ma wolnych sesji. Co zrobić?

Zakładając, że tym samym kontem możesz się zalogować na inny serwer uruchom z niego polecenie:

QWINSTA /server:YourServerName

w wyniku otrzymasz listę sesji. Każda z nich ma swoją nazwę. Zobaczysz też nazwę użytkownika. Mając nazwę sesji uruchom:

LOGOFF rdp-tcp#25 /server:YourServerName

nazwa rdp-tcp#25 to nazwa sesji z poprzedniego polecenia

Darmowy Kurs SQL Server Reporting Services – Tworzenie Raportów

2017-07-03

Już niebawem na platformie Udemy zostanie udostępniony kurs SQL Server Reporting Services – Tworzenie Raportów. Na początku kurs będzie za darmo, więc sprawdzaj regularnie ten odnośnik, bo promocja nie potrwa długo:

SQL Server Reporting Services – Tworzenie Raportów

Możesz też zapisać się do newslettera. Jak tylko szkolenie będzie dostępne za darmo, powiadomię o tym na blogu, otrzymasz maila i będziesz mógł zapisać się za darmo!

Poniżej kilka informacji o kursie.

Kurs przeznaczony omawia zagadnienia od podstaw. Zaczyna się od instalacji SSRS, a w jego trakcie zdobędziesz wiedzę pozwalającą na samodzielne tworzenie dynamicznych raportów W SSRS. Kurs jest przeznaczony dla początkujących developerów, administratorów baz danych, pracowników IT przygtowujących samodzielnie raporty z wykorzystaniem SSRS. Kurs częściowo przygotowuje do egzaminu  70-466 Implementing Data Models and Reports with Microsoft SQL Server

Każda lekcja składa się z:

  • materiału VIDEO
  • quizu do samodzielnego rozwiązania
  • ćwiczenia do wykonania

Podczas szkolenia studenci Udemy mogą korzystać ze wsparcia trenera. Dostęp do szkolnia nie jest ograniczony czasowo, jest „na zawsze”.

W skład ponad 60 lekcji w ok. 4 godzinnym materiale zobaczysz:

  • Przygotowanie do kursu
    • Instalacja SQL Server Reporting Services
    • Instalacja SQL Data Tools
    • Instalacja bazy danych AdventureWorks
  • Budowanie raportów
    • Kreator  raportu tabelarycznego
    • Kreator raportu matrix
    • Publikowanie raportu w SSRS
  • Formatowanie raportu
    • Podstawowe formatowanie rapotu
    • Wyrażenia i sumy pośrednie
    • Interaktywne sortowanie
    • Właściwości raportu
  • Elementy raportu
    • Nagłówek i stopka
    • Dodawanie pól bazy danych do raportu
    • Logo i metadane raportu
    • Shared Data Source i Shared Data Set
    • Ręczne tworzenie raportu tabelarycznego
    • Ręczne tworzenie raportu matix
  • Raporty Drill Down i grupowanie danych
    • Raport Drill Down z kreatorem
    • Raport Drill Down bez kreatora
    • Grupowanie i sumy pośrednie
  • Parametry
    • Filtrowanie w oparciu o parametr
    • Typy parametrów
    • Query parameters
    • Parametry pobierane z bazy danych
    • Dodawanie wartości ALL do listy rozwijanej
    • Multiple valued parameters
    • Hierarchia parametrów
  • Podraporty
    • Podraporty
    • Publikowanie i zarządzanie raportami
  • Wykresy
    • Wstawianie wykresu słupkowego
    • Dynamiczne pokazywanie/ukrywanie elementów raportu
    • Opcje zaawansowane na przykładzie wykresu kołowego
    • Sparkline
    • Inidcator
    • KPI

Czytaj dalej »

By Rafał Kraik in Aktualności

SQL: Błąd podczas uruchamiania joba: The module ‚SQLPS.psd1’ requires the following version of the .NET Framework: 3.5.

2017-07-02

Jednym z wymogów instalacyjnych wielu wersji SQL Server jest instalacja .NET Fraework 3.5. Z zasady instalacja nie uda się jeśli Framework nie jest zainstalowany, ale… coś dziwnego się stało. Na serwerze na którym SQL już działał od dłuższego czasu, ni z tego ni z owego pojawił się błąd podczas wykonywania job z SQL Agent:

A job step received an error at line 1 in a PowerShell script. The corresponding line is ‚import-module SQLPS  -DisableNameChecking’. Correct the script and reschedule the job. The error information returned by PowerShell is: ‚The module ‚SQLPS.psd1’ requires the following version of the .NET Framework: 3.5.  The required version is not installed.

Sposób naprawy jest prosty! Trzeba po prostu doinstalować ponownie .Net Framework i na dodatek nie jest wymagany żaden restart. Oto wszystkie czynności do wykonania z PowerShell:

Jeśli masz do czynienia z serwerem 2008, zacznij od jawnego zaimportowania modułu server manager

import-module servermanager

Sprawdź aktualny stan instalacji .NET Framework

Get-WindowsFeature net-framework-core
Display Name Name
------------ ----
[ ] .NET Framework 3.5.1 NET-Framework-Core

Zainstaluj .NET Framework

Get-WindowsFeature net-framework-core | Add-WindowsFeature
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True No Success {.NET Framework 3.5.1}

I ewentualnie sprawdź status po instalacji

Get-WindowsFeature net-framework-core
Display Name Name
------------ ----
[X] .NET Framework 3.5.1 NET-Framework-Core


By Rafał Kraik in SQL