Powershell: Znajdowanie grupy, do której nikt nie jest przypisany

2014-04-03

Najpierw ustalmy, czy jest dostępny moduł ActiveDirectory:

Get-Module -ListAvailable
Import-Module ActiveDirectory

Do pobrania listy wszystkich grup służy:

 Get-ADGroup

Jeżeli chcesz odfiltrować tylko niektóre grupy możesz się posłużyć parametrem filter:

Get-ADGroup -Filter „name -like 'GS_SQL_*'”

Domyślnie w/w polecenie nie pokazuje kto jest członkiem tych grup. Żeby taka informacja została dołączona należy posłużyc się opcją Properties i wskazać, że chcesz aby pobrać również listę członków tej grupy:

Get-ADGroup -Filter „name -like 'GS_SQL_*'” -Properties Members

ObiektyMicrosoft.ActiveDirectory.Management.ADGroup mają teraz wypełnioną właściwość Members. Members to kolekcja obiektów. Aby policzyć ile obiektów jest w tej kolekcji użyj właściwości Count:

Get-ADGroup -Filter „name -like 'GS_SQL_*'”-Properties Members | Select Name, @{n=’Count’;e={$_.Members.Count}}

No to chyba już wiadomo, jak wybrać te grupy, które mają puste members:

Get-ADGroup -Filter „name -like 'GS_SQL_*'”-Properties Members |  where { $_.Members.Count -eq 0 }

Gotowe!

By Rafał Kraik in Power Shell

Powershell i excel? Tak, to możliwe!

2014-04-01

Utwórz obiekt aplikacji Excel

$xl = New-Object -comobject Excel.Application

Zobacz jakie ma możliwości (właściwości i metody)

$xl | gm

Aplikacja Excel jest początkowo ukryta – ma niewidoczne okno. Pokaż je:

$xl.visible = $True

Utwórz nowy pusty skoroszyt:

$wb = $xl.Workbooks.Add()

Zobacz jakie możliwości daje skoroszyt:

$wb | gm

Zapisz go na dysku

$wb.SaveAs(’c:\temp\p1.xls’) Czytaj dalej »

Kiedy ostatnio korzystano z mojej bazy?

2014-03-26

Sposób nr 1

SELECT max(create_date), max(modify_date) FROM SYS.tables

Zapytanie zwróci datę utworzenia ostatniej tabeli lub date jej modyfikacji np. dodania kolumny. A przecież te czynności nie są wykonywane codziennie. Kiedy baza okrzepnie tworzenie tabel odbywa się rzadko. Dlatego wolelibyśmy informację o tym, kiedy rekordy były ostatnio modyfikowane/dodawane, a może nawet czytane, dlatego:

Sposób nr 2

USE <your_db_name>
SELECT OBJECT_NAME(object_id) AS TableName,
last_user_update as LastAction, *
FROM sys.dm_db_index_usage_stats u
WHERE database_id = db_id(db_name())

 index_usage_stats

Zapytanie korzysta z widoku sys.dm_db_index_usage_stats, który zawiera informacje o wykorzystaniu każdego indeksu w baize danych. Zobaczysz tu ile razy indeks był skanowany, przeszukiwany przez seek lub modyfikowany przez polecenia INSERT/UPDATE/DELETE. Dodatkowo znajdziesz też datę i godzinę kiedy te operacje były ostatnio wykonywane. Czytaj dalej »

By Rafał Kraik in SQL

Microsoft SQL Server 2005 Backward Compability

2014-03-24

Błąd podczas uruchomienia skryptu Visual Basic.

Microsoft VBScript runtime error: ActiveX component can’t create object: 'SQLDMO.SQLServer

Należy zainstalować Microsoft SQL Server 2005 Backward Compability.

Poszukaj na płycie pliku SQLServer2005_BC i go zainstaluj.

Plik można ściągnąć z http://www.microsoft.com/en-us/download/details.aspx?id=6375

Ładny opis http://sqlserverfinebuild.codeplex.com/wikipage?title=Install%20SQL%202005%20Backward%20Compatibility

By Rafał Kraik in SQL

Password Expired – skrypt powershell sprawdzający kiedy wygaśnie hasło

2014-03-21

Pewnego dnia, mniej więcej w miesiąc po skonfigurowaniu serwera, okazało się że SQL Agent nie startuje. W logu można było znaleźć informację „password expired”

agent

Prosta sprawa. Trzeba tylko zmienić hasło agenta i uruchomić agenta. Aby nie było problemów w przyszłości wypadałoby jeszcze  w przyszłości pamiętać o zmianie hasła, albo gdyby pozwalały na to polityki bezpieczeństwa, zaznaczyć, że hasło nie wygasa. Czytaj dalej »

By Rafał Kraik in Power Shell

Instalacja modułu Active Directory dla powershell

2014-03-21

Administratorowi wygodnie zarządza się domeną jeżeli narzędzia do niej ma zainstalowane na swoim systemie. No a jeszcze wygodniej pracuje się w powershell, więc idealnie byłoby mieć zainstalowane na swojej stacji roboczej powershellowe narzędzia do obsługi domeny na swojej stacji. Załóżmy że masz już zainstalowane Remote Server Administration Tool (http://www.microsoft.com/pl-pl/download/details.aspx?id=7887). Aktualnie zaintalowane moduły wyświetlisz poleceniem

Get-Module -list:

Get-Module

Co jeżeli nie ma tu ActiveDirectory? Przejdź do panelu sterowania >> Programy i Funkcje >> Włącz lub wyłącz funkcje systemu Windows i zaznacz „Moduł usługi Active Directory dla środowiska Windows PowerShell”.

Gotowe!

install_active_directory_module_powershell

A tu jeszcze inne rozwiązania w innych sytuacjach:

http://www.windowscommandsyntax.com/howto/how-to-install-the-active-directory-module-for-powershell/

 

By Rafał Kraik in Power Shell

Wszystkie wersje/SP/CU SQL server w jednym miejscu

2014-03-19

Znalazłeś HotFix lub Cummulative Update i zastanawiasz się, czy na twoim serwerze SQL już jest zainstalowane? Zajrzyj na

http://sqlserverbuilds.blogspot.com/

i porównaj z numerem build twojego serwera.

By Rafał Kraik in SQL