Jak se používá PowerShell?

hlasů
26

Windows PowerShell loni vyšel ven a dostal skvělé recenze z mnoha bloggerů NET ( Hanselman přijde na mysl). Zdálo se, že se nabízel jako velkou nový nástroj, který nějakým způsobem vše, co byste někdy udělat na příkazovém řádku snadnější a integrovaný s .Net. Nicméně, čím víc jsem o tom četl, tím více se zdá, že je nástroj, který je ideální pro IT profesionály, a ne moc k užitku pro vývojáře.

Používáte PowerShell v dev práci? Pokud ano, jak? Je to stojí za to učení?

Poznámka: Poté, co viděl odpovědí tak daleko, myslím, že je platný k závěru, že PowerShell může být velmi užitečné pro vývojáře Net. Nicméně, není tam žádná jedna odpověď níže, které mohu označit jako na odpověď (tak prosím odpusťte mi, že se tak nestane). Jsem hlasování up každou odpověď, kterou jsem našel užitečné.

Položena 12/08/2008 v 13:04
zdroj uživatelem
V jiných jazycích...                            


14 odpovědí

hlasů
12

Jsem admin obchodem a právě začíná v „Dev“ světě, ale vidím, že PowerShell může být velmi užitečné pro vývojáře v mnoha ohledech.

  1. automatizaci úloh -> Lee Holmes (vývojář v týmu PowerShell) vykázala proof-of-koncept nazvaný BgShell, který byl v podstatě runtime PowerShell hostitelem v model Windows Forms aplikaci, která poslouchala úhozy a odstartovala akce napsané v PowerShell založen na ně , To také obsahovalo nějakou schránky automatizaci.
  2. Rychlý přístup k .NET. Nemusíte se sestavit a spustit něco, nebo použít jiný program, jako fragmentů překladače otestovat některé funkce. Načíst sestavu do PowerShell sezení a komunikovat s ním. Získáte všechny vyhledatelnosti PowerShell (jako Get členskými), aby prozkoumala svůj objekt.
  3. Snadno vytvářet domény specifické jazyky. James Kovacs napsal jednoduché sestavení skriptovací jazyk s PowerShell s názvem Psake.
  4. To může poskytnout skriptovacího jazyka pro danou aplikaci. Vzhledem k tomu, PowerShell je součástí 09 Common Engineering Criteria, mnoho aplikací Microsoft bude mít rozhraní pro PowerShell a seznámení se s syntaxe jazyka poroste. Můžete využít tyto znalosti vložením PowerShell runtime v aplikaci a poskytuje skriptovací rozhraní pro uživatele, výběr toho, co objekty budou mít přístup.
  5. Ve stejném duchu, pokud potřebujete vytvořit příkazové řádky pro danou aplikaci, PowerShell poskytuje velkou část podkladového instalatérské potřebné pro rozebrat argumenty a dalších základních úkolů, odcházející jediný obchodní logiku pro vás psát a poskytování konzistentní rozhraní s jinými aplikacemi (například máte-li uživatelské účty, které musí být spravovány (které nejsou již integrovat s Active Directory, administrátor mohl (pomocí questu AD rutin a aplikací rozhraní) Get-QADUser | Novinka -MyApplicationUser a hotovo. tým Exchange 2007 to udělal velmi dobře. Všechny funkce je založena na PowerShell rutin, GUI volá rutiny a zobrazuje uživateli, co je spuštěn, aby mohli stavět skripty založené mimo to.
  6. Je to prostě cool! V asi 250 řádků (včetně komentáře), Rob Foust a Jeff Hicks napsal sítě cvičenými v PowerShell. Jednodušší než WinDump pro lehké řešení problémů.
  7. Komunita - Tam je velká komunita zaměřená kolem PowerShell, včetně vývojářů. Více informací na PowerShellCommunity.org.
Odpovězeno 13/08/2008 v 19:06
zdroj uživatelem

hlasů
12

Je to určitě stojí za to učení. Máte někdy převést text? Máte někdy manipulovat s XML? Máte někdy automatizovat něco? Jednoduchý příklad. Někdo vám čárkami oddělený soubor a budete muset vytáhnout některá pole z ní importovat do nějakého jiného nástroje / databáze nebo vytvořit nějaký seznam pro váš program.

V případě, že csv obsahuje názvy polí v prvním řádku souboru, můžete provést následující PowerShell:

$Data = import-csv "something.csv" 

Potom můžete odkazovat na vaše data pomocí názvy polí. Pokud byste měli pole s názvem SSN pak by se dalo říci údajů [n] .SSN $. Dalo by se také jen pipe příkaz import-csv do něčeho, který zpracovával data, včetně exportu jako XML / html nebo cokoliv chcete s několika málo příkazů. Powershell je plný věcí, jako je tato.

Je to nástroj, který vám dává obrovskou přístup k tuny věcí na vaší pracovní stanice a servery, včetně kompletního NET knihovny. Je to nástroj, který není zaměřen na určitý typ člověka. Možná je to jen, že Správce druhy byly rychle uvědomit, jak je užitečné. Používám ho každý den.

Chcete-li skutečně odpovědět na otázku, používám ho automatizovat co dělám každý den. Snažím se, aby to můj jediný skriptovací jazyk, nahrazovat to, co jsem dělal v Perl, Python, VBScript BAT / CMD a jednorázové malé utility / konverzní programy, které bych vytvořit.

Odpovězeno 12/08/2008 v 15:51
zdroj uživatelem

hlasů
6

Můžete nenávidět PowerShell a přesto to může být ještě nesmírně užitečné pro vás. Používám ho pro malé, ale významné typy jednořádkový věcí nebo ve velmi malými skripty. Je to opravdu nemohou srovnávat s C #, takže jakmile existuje složitost nebo významný potenciál opětovného vůbec přejdu na C #. Také je důležité, Powershell je tak funky, že chci znovu řešení od nuly pokaždé, jinak bych zapomenout na vtípky, z nichž existuje mnoho. Slyšel jsem ostatní lidi říkat to taky!

Příklady toho, co je to opravdu dobré pro:

  1. Ad hoc zpracování textu. Občas lidé podej mi velkou dat nebo soubor SQL a chtějí ho manipulovat v jiné podobě, někdy opravdu složité způsoby. Toto samo o sobě mě zachránil neuvěřitelné množství času. To často zahrnuje spoustu ADHOC jednorázových vložek a polotovarů souborů. Nyní, že lidé vědí, můžu to udělat, mají tendenci předávat takové projekty mimo mě. Nebo v některých případech jsou tak ohromeni, že se učí Powershell pro sebe.

  2. Když jsem u zákazníka a zoufale potřebují automatizovat něco, a je to jediný nástroj, mohu a / nebo smím dostat do rukou.

  3. Malé skripty pro přihlášení do webových stránek a přejděte na jakoukoli stranu mě zajímá, nebo pracuje. Nikdy jsem se ručně přihlásit do webové stránky, které jsem se rozvíjející už ne. Triviální, ale je to jedna méně otravné opakující mozek mrtvý úkol musím bát.

  4. Vtipy kopírování souborů a projektů okolo a vyhledávání a nahrazování.

  5. Malé skripty k tomu staví, jestli existují nějaké neobvyklé komplikace podílejí.

  6. Atd. Jste povinni mít malé vtípky v systému, kde je třeba zastavit / spustit službu opravit něco jiného, ​​nebo cokoliv jiného.

Odpovězeno 15/08/2008 v 16:21
zdroj uživatelem

hlasů
5

Jen jsem nedávno dokončil verze 1 projektu, který hostil PowerShell runtime modulu na vykonání úloh na vzdálených systémech. Nesouhlasím z celého srdce, že PowerShell není nástroj, Dev je.

Jako produkt .NET bázi, je přímým analog k programování NET. Celé .NET programy mohou být prototyp v PS, stejně jako malé ONELINERS otestovat funkčnost metod ... atd. Že jazykové architekti pro PS speciálně syntaxi PS má být v blízkosti C #, znamená, že existuje jen velmi málo kontext switch při psaní PS skripty a C # kód (něco, co jsem musel udělat hodně v poslední době). Stavíte své znalosti již těžko vyhrál s .NET jazyky, pomocí PS.

Jako nástroj pro automatizaci, to je vynikající. Je to přístup je WMI, ADO, ADSI, NET, COM nativně, a navíc mohou být bodově svařeny k práci s něčím jiným. Toto samo o sobě dělá nějaký automatizaci Windows snazší a účinnější. Výše přístupu do systému paralled některými dalšími langauges (VBScript, Python), ale snadnost používání jazyka a ve prospěch .NET framework znamená, že některé PS scripting je provázání existující kód (opětovné použití kódu) namísto ztrácíš čas psát další soubor zipování rutiny (například ...)

Existuje již venku projekty tam, že dělají vytvářet nástroje (psake přijde na mysl), aby se život Dev je jednodušší. Projekty jako PowerShell rozšíření Společenství ukazují silné rozšíření schopnosti normální každodenní vývojáři mohou dosáhnout. Souhlasím s některými z plakátů výše zmíněnému považuji něco udělat, aby se instalace stavět envrionments nebo pracovat s daty pro dev úkoly, může být provedeno s PS, ne-li rychlejší / jednodušší / lepší, ale stejně dobře.

James

Odpovězeno 12/08/2008 v 17:12
zdroj uživatelem

hlasů
3

Je to nikdy nepřijde při použití jako součást své rozvojové roli, ale tu a tam jsem si úkol, který bych napsat malý program pro automatizaci, který teď přinutila dělat v PowerShellu a trvá kratší dobu.

Například nedávno jsem se přestěhoval hundredsthousands souborů z jednoho serveru na jiný pomocí xcopy a zapomněl nastavit atribut zachovat data vytvoření u souborů. PowerShell k záchraně. Během deseti minut jsem měl scénář napsal a testovány, aby zkopírovaný vznik se datuje přes aniž by bylo nutné znovu zkopírujte soubory.

Odpovězeno 12/08/2008 v 13:18
zdroj uživatelem

hlasů
2

@EdSwangren - Máte-li pracovat primárně na platformě Windows a práci v NET prostoru, tak bych z celého srdce doporučit uvedení čas se učit PowerShell. Je možné využít stávající NET zkušenosti a kód, pracuje s COM, WMI a ADSI. To vám umožní přístup k téměř vše, na platformě Windows (a to je jen V1). V2 je pod aktivním vývojem (CTP2 je nyní k dispozici) a bude obsahovat více vzdálené komunikace, STA závitů a mnoho dalších vylepšení.

Mnoho prodejců se rovněž podporovat PowerShell - z / n Software poskytuje síťové rutin, na Citrix a VMWare poskytuje rozhraní API pro správu pomocí PowerShell.

Odpovězeno 14/08/2008 v 14:27
zdroj uživatelem

hlasů
1

Osobně jsem pomocí Python pro automatizaci úkolů, pomocí WMI v případě potřeby. Domnívám se, že tato kombinace pokrývá většinu svých potřeb.

Testoval jsem PowerShell, to vypadá dobře pro mě, ale to nestojí za učení zcela nový nástroj. Kromě toho, že jsou zde výborné zdroje on-line zvládnout PowerShell, pokud budete potřebovat, nebo chce (PowerShell živě) , nebo dokonce recepty na plnění úkolů, aniž by museli projít celou křivku učení pro sebe.

Odpovězeno 12/08/2008 v 13:45
zdroj uživatelem

hlasů
1

Používám to velmi málo o skutečné dev práci. Jsem virtuální adresáře automaticky použil k nastavení a spuštění scipt který nastaví IIS se stejným nastavením na všech našich dev strojů

Odpovězeno 12/08/2008 v 13:13
zdroj uživatelem

hlasů
0

i použít pro vícenásobné spuštění procesu. a pro některé věc, která cmd převýšení dělat.

Odpovězeno 15/11/2016 v 13:46
zdroj uživatelem

hlasů
0

Používám Posh pro práci každého ‚repetita‘ Musím udělat pro správu sítě, domény, počítače, uživatelé našeho letopočtu, editaci textu, soubory vyhledávání, souborových serverů migrace, monitorování a také bavit!

Odpovězeno 17/08/2011 v 14:16
zdroj uživatelem

hlasů
0

Používám ho automatizovat co nejvíce věcí, jak to bude možné. Jedním z příkladů je Web UI Automation , usnadnit vývoj aplikací / testování.

i také použít ke generování náhodných vstupních souborů pro různé programy. Například jedna aplikace očekává soubor XML, a mám scénář postavit tento soubor s náhodnými hodnotami a jedinečný identifikátor založený na současném čase.

I nepoužívají to těžce, ale já to každý den použití.

Odpovězeno 21/08/2009 v 12:07
zdroj uživatelem

hlasů
0

Zdá se mi, že WPS je způsob, aby se váš život snazší dělat věci, které potřebujete. Nemyslím si, že váš bude najít WPS integrovány do řekněme FireFox nebo Quicken ale tyto týmy mohou použít k dělat ty věci .... v krátkých „WPS nedává svůj program, WPS činí takže váš program jednodušší.“ ;Ó)

Odpovězeno 13/08/2008 v 18:07
zdroj uživatelem

hlasů
0

Používám ho pro IT Pro typ věci spravedlivé bit (pro které je to brilantní), ale nemyslím, že jsem ho používá mnoho pro rozvoj - občas pro rychlé vyzkoušení něco jako String.Format. Něco, co budu dělat, je vyvinout PowerShell commandlets pro některé z našich aplikací - umožňuje správcům provádět úkoly, jako je správa uživatelů pomocí PowerShell, ale nemyslím si, že je to opravdu to, co máte na mysli.

Odpovězeno 12/08/2008 v 13:16
zdroj uživatelem

hlasů
0

I když jsem se naučil, jak se úplně to ještě používat, jsem fanoušek, protože to podporuje většinu (ne-li všechny) z Unix příkazy, že jsem obeznámen se pro navigaci pomocí příkazového řádku. Pokud jste * NIXu zkušenosti a vyvíjejí na Windows, tak bych doporučujeme používat jej pro to jednoduše proto, že budete mít jen na paměti, jednu sadu příkazů.

Vezměte si, co řeknu s jistou rezervou, nicméně. Pokud jde o budovy a sestavování, já používám funkce příkazového řádku.

Odpovězeno 12/08/2008 v 13:08
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more