Archiwum za miesiąc 2019-08
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 name |
Co oczywiście ważne przed uruchomieniem tych poleceń trzeba mieć zainstalowany feature „Active Directory […]
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 = New-Object System.Net.WebClient $webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass) $uri = New-Object System.Uri($ftp+$destinationFileName) $webclient.UploadFile($uri, $localfile) |
Niestety w czasie ladownia pliku pojawial sie blad:
|
The remote server returned an error: (553) File name not allowed. |
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ś tam się musi w tempdb […]
2019-08-09
W Pythonie wyrażenie if można zapisać w postaci jednolinijkowca:
Jednak łatwo wpaść w pułapkę. Takie wyrażenie zadziała:
|
<span class="kwd">print</span><span class="pun">(</span><span class="pln">price</span><span class="pun">-</span><span class="pln">bonus</span><span class="pun">)</span> <span class="kwd">if</span><span class="pln"> bonus_granted </span><span class="kwd">else</span> <span class="kwd">print</span><span class="pun">(</span><span class="pln">price</span><span class="pun">)</span> |
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 pytanie. Przypomnijmy, że Pythonie można mieć statement i expressions: statement – coś robi i niekoniecznie […]
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 […]
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? […]
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