Problem: Masz użytkownika UserA. UserA należy do pewnych grup AD. Jest nowy uytkownik UserB, który docelowo powinien należeć do tych samych grup, co userA. Członkostwo wpewnych grupach zostało już nadane, a w innych jeszcze nie. Musisz sporządzić listę grup, do których należy userA, a userB nie (i odwrtonie). Rozwiązanie: Skorzystamy z modułu ActiveDirectory. Możesz go […]
Archiwum za miesiąc 2016-03
Powershell: Porównanie grup użytkowników
Powershell: Formatowanie napisów
Jak wiesz w Powershell mamy dostęp do wszystkich funkcji .NET. A zbiór funkcji .NET dotyczący formatowania napisów jest naprawdę olbrzymi! Wystrczy przyjrzeć się dokumentacji funkcji ToString(), która potrafi zrobić napis praktycznie ze wszystkigo. Oczywiście do zbudowania ładnego napisu w powershell nie trzeba znać wszyskich możliwych funkcji. Oto jedn użyteczny przykład:
1 |
[string]::Format("Value {0:0.00} and value {1:p}", 1.23, 0.45) |
Wywołujemy tutaj fukcję statyczną […]
Powershell: Sprawdzenie MAC Adresów dla wielu komputerów
Wydawać by się mogło, że konflikt adresów MAC nie powinien się zdarzać… a jednak, życie w IT bywa interesujące. Żeby sprawdzić jakie adresy MAC są wykorzystywane przez ‚podejrzane komputery’ można posłużyć się następującym skryptem:
1 |
$compList1 = 'Server01','Server02','Server03' |
1 |
Invoke-Command -ComputerName $compList1 {Get-NetAdapter} | Select MacAddress,PSComputerName,Name |
Zaczynamy od zainicjowania listy komputerów. Tutaj została ona podana jawnie:
1 |
$compList1 = 'Server01','Server02','Server03' |
Teraz na każdym z komputerów, korzystając z remotingu […]
Powershell: Złaczenie dwóch list po wspólnym kluczu. (Join dwóch list)
Zdarza się, że mamy w powershellu do czynienia z dwiema listami. Obie mają np. kolumnę ID i obie listy mają inne kolumny, a twoim zadaniem jest połączyć te dwie listy w jedną. Poniższy skrypt realizuje takie zadanie. Najpierw skrypt, a potem komentarz:
1 2 3 4 5 6 7 8 9 10 11 |
$list1 = Get-Process | select Id, Pm $list2 = Get-Process | select Id, Name $list3= $list1 | % {` $x = $_ ;` $list2 | % {` if ($_.Id -eq $x.Id) {` $_ | Select @{L="Handle";E={$x.Id }},` @{L="Name"; E={$_.Name}},` @{L="PM"; E={$x.Pm }}` }}} $list3 |
SQL: Szybka ściąga do konfiguracji KERBEROS
Te kilka poleceń pozwala mi diagnozować problemy z połączeniem do SQL servera, zwłaszcza w przypadku wystąpienia błędu: SSPI handshake failed with error code 0x80090311 bardzo pomocne są artykuły https://mssqlwiki.com/2013/12/09/sql-server-connectivity-kerberos-authentication-and-sql-server-spn-service-principal-name-for-sql-server/ https://technet.microsoft.com/en-us/library/ms191153.aspx z których pochodzą między innymi poniższe komendy. Do poprawnego skonfigurowania protokołu Kerberos i tym samym uniknięcia w/w błedu potrzebne są tzw. Service Principal Name skonfigurowane […]
SQL: Nie można połączyć się z serwerem. Timeout.
W dużych środowiskach administrując serwerami nierzadko nie wiesz, czy między serwerami jest zaimplementowany firewall czy nie i ewentualnie, czy przepuszczany jest ruch do SQL servera. W takim przypadku rewelacyjnie pomocny jest program portquery. Można by powiedzieć, że to taki ping, który potrafi sprawdzić, czy osiągalny jest nie tyle cały host, co pewna usługa działająca na […]
Powershell: Sprawdzenie wersji pakietów oprogramowania na wielu komputerach
Była sobie aplikacja, zaimplementowana na około 30 serwerach. Na niektórych z nich zainstalowano pakiet oprogramowania w wersji X a na innych w wersji Y. Na niektórych z tych serwerów pojawiały się pewne kłopoty, a na innych nie. W każdym razie wygląda na to, że przyczyną tych kłopotów może być zbyt niska wersja tego pakietu. Co […]