Jakie jest twoje ulubione polecenie lub skrypt Powershell do administrowania systemem? [Zamknięte]

16

Jakie jest twoje najlepsze polecenie Powershell? Zróbmy listę i głosujmy na najlepsze!

Jon Jonowa
źródło
@Jon: miałeś na myśli „cmdlet”?
dance2die 30.04.2009
Powinny być oznaczone jako subiektywne
halr9000

Odpowiedzi:

13

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.

Steven Murawski
źródło
5

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()
Eldila
źródło
2
Można to zrobić w jednej linii za pomocą poleceń cmdlet Quest AD - są one bezpłatne i bardzo przydatne! quest.com/activeroles-server/arms.aspx
Doug Chase
Zobacz także blogs.msdn.com/adpowershell/default.aspx !
Doug Chase
1
@Doug Chase Tak, to nic nie kosztuje, ale niektóre organizacje nie pozwalają na używanie niezatwierdzonego oprogramowania, z bardzo złym czasem oczekiwania na zatwierdzenie, ale skrypty, które sam piszesz, są natychmiast dostępne.
Orihara
1
Jeśli ktoś widzi to teraz i myśli, że to dobry skrypt, jeśli masz zainstalowane narzędzia RSAT, możesz to zrobić za pomocą jednego linku w Powershell 2.0: Get-ADUser -filter 'Name -like "*"'(zamień „filtr” na cokolwiek)
Mark Henderson
3

Muszę iść z pomocą. To polecenie cmdlet jest kluczem do znalezienia funkcjonalności innych poleceń cmdlet. Niedługo drugi byłby członkiem.

Marcus
źródło
2

W tej chwili jestem wielkim fanem Get-WMIObject.

Tim Benninghoff
źródło
2

„Test-Path” uważa, że ​​jest to przydatne do sprawdzania, czy dane już tam są, czy też należy dodać wartość domyślną.

Brandan
źródło
1

Dla mnie -Co jest najbardziej przydatne.

Travis
źródło
-1: -Whatif nie jest poleceniem cmdlet, ale opcją cmdlet.
dance2die
1
właśnie określił „polecenie”, a nie cmdlet
travis
1

CD (Change-Location) - Mogę zasadniczo poruszać się po rejestrze tak, jakby to był system plików. w zasadzie możesz to zrobić dla wszystkich dostawców PowerShell (zwróconych przez Get-PSProviders)

cd HKLM:\
dance2die
źródło
1

Bez pytania - Get-Member. Nie wyobrażam sobie żadnej sesji PowerShell bez jej użycia. Wykrywalność jest jedną z najsilniejszych funkcji programu Windows PowerShell.

aleksandar
źródło
1

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.

użytkownik2278
źródło
1

Jeden z moich ulubionych:

Get-Content „c: \ logfile.log” - czekaj

Wersja pliku dziennika „tail -f” loga „powershell”

SlinkingAnt
źródło
1
Wydaje mi się, że to nie działa. Uruchomiłem to polecenie dla pliku CSV, do którego inne polecenie programu PowerShell zapisywało dane, i nie wyświetlało aktualizacji pliku w trakcie jego zmiany, ale pokazało mi tylko wiersze pliku, jakie istniało, gdy uruchomiłem polecenie, a następnie właśnie zawiesiłem się, czekając na CTRL + Break.
Chris Magnuson,
1

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.

Chris Magnuson
źródło
0

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ć.

Andy Schneider
źródło