Jakie jest twoje najlepsze polecenie Powershell? Zróbmy listę i głosujmy na najlepsze!
Jakie jest twoje najlepsze polecenie Powershell? Zróbmy listę i głosujmy na najlepsze!
Odpowiedzi:
Get-Member jest królem poleceń cmdlet programu PowerShell.
Get-Member pozwala interaktywnie eksplorować „elementy i typy” obiektów (za pomocą przełącznika -static) elementy statyczne.
Lubię mieć skrypt do wyszukiwania użytkowników AD:
$strFilter = "(&(objectCategory=User)(sAMAccountName=[USERNAME]))";
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher;
$objSearcher.SearchRoot = "LDAP://dc=[AD_Location]";
$objSearcher.Filter = $strFilter;
$objSearcher.SearchScope = "Subtree";
$objSearcher.FindALL()
Get-ADUser -filter 'Name -like "*"'
(zamień „filtr” na cokolwiek)
W tej chwili jestem wielkim fanem Get-WMIObject.
Bez pytania - Get-Member. Nie wyobrażam sobie żadnej sesji PowerShell bez jej użycia. Wykrywalność jest jedną z najsilniejszych funkcji programu Windows PowerShell.
Jest to bardziej technika niż określone polecenie cmdlet lub funkcja, ale moją ulubioną rzeczą PS jest budowa obiektu:
$foo=""|select bar, baz, gronk|ft
daje Ci
bar baz gronk
----- ----- ------
co jest przydatne do przekształcania nieustrukturyzowanych danych w zestaw obiektów do dalszego przetwarzania.
Jeden z moich ulubionych:
Get-Content „c: \ logfile.log” - czekaj
Wersja pliku dziennika „tail -f” loga „powershell”
Widzę, że Get-Member jest na liście, co muszę zgodzić się, że jest najlepszy, ale dla mnie niemal równie potrzebna sekunda to:
Format-List
Najczęściej używam tego po potoku, aby pokazać mi wszystkie wartości właściwości obiektu:
$SomeObject | fl *
GM powie ci, czym jest obiekt, i poda nazwy i typy jego właściwości, ale najczęściej nie pomaga to naprawdę zrozumieć, w jaki sposób te właściwości są używane bez przeglądania dokumentacji, która może być uciążliwa.
$SomeObject | Format-List *
wyświetli wszystkie wartości właściwości dostępnych w obiekcie, dzięki czemu zobaczysz ich bieżące wartości i zaczniesz szukać właściwości, które chcesz wybrać lub użyć do filtrowania obiektów.
Często stwierdzam, że obiekt ma wiele właściwości, które na podstawie dokumentacji wyglądają tak, jakby zawierały dane, których chcę, ale w rzeczywistości tylko jedna z właściwości ma dane lub dane w jednej z nich wcale nie są tym, czego można oczekiwać na podstawie sama dokumentacja.
Zrobiłem tylko małą metodę, którą dodałem do mojego profilu. Zobacz http://blog.keystroke.ch/2007/08/30/diskusage-in-powershell/ .
diskusage myserver
to moje preferowane polecenie.
Oprócz Get-Member musiałbym powiedzieć Add-Member i New-Object, które dają ci możliwość korzystania z rozszerzalnego systemu typów.
Możliwość dodawania członków do dowolnego obiektu w dowolnym momencie pozwala uzyskać dokładne informacje, których potrzebujesz, z możliwością ich sortowania, grupowania, krojenia, krojenia w kostkę, eksportowania lub cokolwiek z tym chcesz zrobić.