Archiwum za miesiąc 2019-08

PowerShell: Wyszukiwanie w AD użytkownika lub grupy

2019-08-20

Nie ma lepszych narzędzi do wydobycia informacji o środowisku niż prosty skrypt, który można sklecić „na kolanie” Znajdź mi użytkowników, którzy mają nazwę kończąca się na service: Get-AdUser -filter „name -like '*service'” | select name Znajdź mi grupy, które mają w nazwie PRD I kończą się na SYS: Get-ADGroup -filter „name -like '*PRD*SYS'” | select […]

Powershell: Upload pliku przez FTP

2019-08-19

Chociaz FTP nie jest bezpiecznym protokolem to czasami jeszcze gdzie niegdzie sie stosuje. Tym razem chodzilo o wyslanie plikow z serwera Windowsowego na serwer Linux. Idealnie jesli bedzie to zrobione przez PowerShella wlasnie. Oto najwazniejszy kawalek kodu:   $localfile = 'c:/temp/filename.txt’ $ftp = „ftp://servername/dir1/dir2/” $user = „username” $pass = „password” $destinationFileName = 'filename.txt’ $webclient = […]

SQL: ALTER DATABASE ALLOW_SNAPSHOT_ISOLATION waiting on ENABLE_VERSIONING

2019-08-14

Aplikacja nie chciała się uruchomić zgłaszając (i za to brawa dla programisty), że opcja ALLOW SNAPSHOT ISOLATION musi być włączona. Niby prosta rzecz ALTER DATABASE … SET ALLOW_SNAPSHOT_ISOLATION ON I co? Czekam i czekam… sprawdzam, co blokuje sesję. Wait time to ENABLE_VERSIONING. No dobrze – jeśli to pierwsza baza z tym ustawieniem, to może rzeczywiście coś […]

By Rafał Kraik in SQL

Python: if w postaci jednej linijki nie działa z pass

2019-08-09

W Pythonie wyrażenie if można zapisać w postaci jednolinijkowca: expr1 if cond else expr2 Jednak łatwo wpaść w pułapkę. Takie wyrażenie zadziała: print(price-bonus) if bonus_granted else print(price) ale już takie nie: print(price-bonus) if bonus_granted else price = 200 print(price-bonus) if bonus_granted  else pass Ale po kolei: price = 10 bonus = 1 bonus_granted = True A teraz odpowiadając na […]

SQL: co sie dzieje, kiedy zmieniasz PageVerify na CHECKSUM?

2019-08-09

Stare bazy migrowane ze starych systemow SQL moga miec ustawiona opcje PageVerify na TORN_DETECTION. Oczywiscie to metoda z zeszlego wieku i aktualnie powinnismy uzywac CHECKSUM. Obie wartosci mowia o tym w jaki sposob kontrolowac, czy zapis strony bazy danych na dysk wykonal sie w 100%, czy tez sa jakies problemy. TORN_PAGE pozwoli dowiedziec sie tylko […]

By Rafał Kraik in SQL

SQL: Uprawnienie db_owner bez usuwania bazy danych

2019-08-09

Sam nie wiem z czego to wynika, ale uzytkownicy proponuja czasami nieco abstrakcyjne rozwiazania zwiazane z ustawieniem uprawnien do bazy danych. W tym przypadku klient chcial aby uzytkownicy bazy danych mogli pracowac na poziomie uprawnien db_owner, ale z jednym malym haczykiem. Uzytkownicy nie powinni moc usunac bazy danych. Dlaczego uwazam, ze zyczenie jest nieco abstrakcyjne? […]

By Rafał Kraik in SQL

Windows: Cluster: Ukryty zasob sieciowy C:\ClusterStorage

2019-08-09

Podczas instalacji Windows Failover Cluster na nodach clustra tworzony jest udostpniony zasob wskazujacy na C:\ClusterStorage Takie „ukryte” zasoby sa czesto wychwytywane przez osoby pilnujace bezpieczenstwa serwerow, tymczasem ten powinien byc od razu wciagniety na white-list. Katalog ten pozwala w clustrze sledzic wykorzystanie Cluster Shared Volume (CSV), co jest dokladniej opisane na stronie Microsoft: https://docs.microsoft.com/en-us/windows-server/failover-clustering/failover-cluster-csvs