I znowu po MTS...
Nie wiem sam, czemu to tak szybko... Bardzo dziekuje wszystkim, którzy zdecydowali sie na posluchanie mojej sesji. Pustek na sali nie bylo i zapewniam Was, ze nie ma dla prelegenta lepszej nagrody. Oceny i statystyki tez sie licza, ale wypelniona sala ma dla mnie wieksza wartosc.
Dziekuje równiez uczestnikom konkursu Speaker Idol. Mimo, ze mój osobisty faworyt nie wygral, to i tak oceniam, ze caly konkurs warty byl energii wlozonej w pomoc przy organizacji, namawiania wahajacych sie, zabiegania o promocje i chodzenia w zielonej koszulce. Byliscie swietni a ja po fakcie moge sie przyznac, ze zasiadanie w komisji Speaker Idol od zawsze bylo moim marzeniem.
No a teraz do rzeczy.
Pokazalem kilka prostych polecen PowerShell i oceniam, ze mimo luznego zwiazku z tematem sesji, warto je tu przytoczyc dla pamieci.
Poleceniem pierwszym bylo import-module ActiveDirectory. Proste w swojej postaci i pozwolilo nam skorzystac z rozszerzen obslugujacych AD, dzieki czemu mozliwe bylo cd AD: Wewnatrz AD tez mozna robic cd, ale pamietajcie, ze cd, to alias do Set-Location. Sciezki, do których przechodzi sie w AD podaje sie zawsze po ich Distinguished Name.
Drugi cykl polecen opieral sie na Get-WMIObject win32_volume. Z kilku teoretycznych powodów, WMI nie jest najlepszym przykladem dla remotingu, ale czytelnie ilustruje cala idee.
Zeby wykonac powyzsze polecenie na zdalnym komputerze (u mnie nazywal sie on W7ENT), nalezy uzyc Issue-Command W7ENT {Get-WmiObject win32_volume}
Powyzsze polecenie zwrócilo wszystkie wlasciwosci wszystkich wolumenów. Aby odfiltrowac tylko te oparte na NTFS, skorzystalem z polecenia icm w7ent {Get-WmiObject win32_volume} | Where-Object {$_.filesystem -eq "ntfs"}
Polecenie icm jest wbudowanym w PowerShell aliasem do Issue-Command a w trakcie prezentacji szybciej sie je wklepuje.
Poniewaz powyzsze zapytanie zwrócilo wiele ciekawej, ale w tym przypadku bezuzytecznej informacji, odfiltrowalem tylko to, co mnie interesowalo
icm W7ENT {Get-WmiObject win32_volume} | Where-Object {$_.filesystem -eq "ntfs"} | select name, freespace
Pózniej dodalem jeszcze jeden filtr i dodatkowy komputer, otrzymujac w koncu nieco tasiemcowe polecenie
icm DC01,W7ENT {Get-WmiObject win32_volume} | Where-Object {$_.filesystem -eq "ntfs"} | select systemname, name, freespace | where-object {$_.freespace -lt 100000000}
Na koniec pokazalem jeszcze prosty skrypt dostepny dzieki modulowi ServerManager
Import-Module ServerManager
Get-WindowsFeature
Z prostym filtrem:
Get-WindowsFeature | Where-Object {$_.Installed}
I dla porównania
Get-WindowsFeature | Where-Object {!$_.Installed}
Pamietajcie prosze, ze funkcjonalnosc zdalnego uruchamiania polecen PowerShell wymaga wlaczenia. Domyslnie jest wylaczona. Polecenie winrm quickconfig (z commandline) powinno zalatwic sprawe szybko i skutecznie.
I na koniec, powtórze jedna sugestie i jedna prosbe. Obie pojawily sie na mojej sesji:
- Uczcie sie PowerShella. To ma przyszlosc.
- Ocencie MTS i wszystkie sesje na https://www.mts2009.pl
Autor: Grzegorz Tworek [MVP]
Comments
Anonymous
January 01, 2003
e tam zaraz najważniejszej... ;) Sesja miała trochę technicznych konkretów i trochę "popychania" Was w kierunkach, które w swojej subiektywnej opinii uważam za istotne. A PowerShell taki jest. Wierzę, że mocniej techniczne opowieści też były użyteczne :)Anonymous
January 01, 2003
Tak sobie (przy sugestii pewnej MVP) pomyślałem właśnie, że umieszczenie skryptów na blogu ma jakiś sens i będzie użytecznym ukłonem w Waszą stronę. Poza tym, mimo że sprawdzałem widoczność literek z końca sali, to i tak miałem pewne obawy, że może coś być nieczytelne. Jeżeli chodzi o cmd.exe - to samo, co z command.com. Pochodził z czasów DOS, ale istniał i miał się całkiem dobrze aż do Windows Vista... zgodność wstecz. Ale to z założenia jest zgodność ze staroświeckimi skryptami a nie ze przestarzałą wiedzą adminów. Nowe rzeczy - w powershell gdzie tylko się da.Anonymous
September 30, 2009
Muszę przyznać, że do PowerShella przymierzałem się od jakiegoś czasu, ale tak jakoś jak pies do jeża :) Teraz... po takiej rekomendacji i podkreśleniu, jako NAJWAŻNIEJSZEJ rzeczy z Twojej sesji... nic tylko brać się za naukę :)Anonymous
October 01, 2009
O. Super! Własnie chciałęm Cie o to prosic - zebys zamiescił wszystko co robileś. Ciesze sie! :-) Ja rowniez probuje sie do tego zabrac od jakiegos czasu - teraz juz czuje ze nadeszła pora... ;P Sesja bardzo mi sie podobał. Z pewnością wypełnie ankiete tylko potrzebuje troche wolnego czasu... Skoro wszystcy jednogłośnie zachwalają PS, zastanawiam sie dlaczego programisci MS niezastąpią zwykłego commandlina powershellem? Moze to przyszlosc dla WIN 8 ? :>