seen from China
seen from United States
seen from Spain

seen from United Kingdom
seen from Romania
seen from China
seen from Kuwait

seen from France
seen from China
seen from United States
seen from United Kingdom
seen from Switzerland
seen from Switzerland
seen from Switzerland
seen from Spain

seen from Malaysia
seen from Poland
seen from Netherlands

seen from United States

seen from Switzerland
PsGet News #1: features, new modules, challenges
Some new features:
Install-Module now has default alias inmo, inmo posh-git will do the job
Install-Module now supports tab completion, try inmo posh<Tab> , watch slow motion video.
Sidenote: to update PsGet itslef, execute install-module psget -force. PsGet is also on PsGet :).
Some new modules:
Find-String , more details from author
Send-Growl, growl is notification system, if you have it installed you can now use this module to post notifications easy
pswatch, cmdlet continuously monitors a directory tree and write to the output the path of the file that has changed.
New challenges:
Some interesting modules are hosted on CodePlex (e.g. PowerTab, PSCX). Unfortunately, CodePlex does not provide direct links to download this modules. There is no clear solution for this issue except to host compiled versions of this modules directly in PsGet repository. This is something we discuss now.
TabExpansion, Prompt this stuff could conflict in some modules. For example, try install posh-git and posh-hg, you will need to fix issues manually. I added ticket to resolve this stuff.
In news:
Haacked - Better Git with PowerShell
Scott Muc - Adopting PsGet for Powershell Module Management
José F. Romaniello - Continuous Testing scripts with Growl
PsGet got its very own central directory
There are two good news. First of all, full install of the PsGet can now look like:
(new-object Net.WebClient).DownloadString("http://bit.ly/GetPsGet") | iex
I also thinking to replace http://bit.ly/GetPsGet with something like http://g.psget.net. With its own name it should look more trusted to install.
Second and much more notable is actually the fact that PsGet now supports simple central directory of the modules. Of course, for now it almost empty. But I will try to fill it with some intersting modules. So what we have...
To install a PowerShell environment for Git from https://github.com/dahlbyk/posh-git/ execute
install-module posh-git
To install psake, a build automation tool... now with less XML...
install-module psake
To install poshcode utilities from poshcode.org
install-module poshcode
Does it look nice? I hope so :) You can also search for modules. Wildcards are supported:
Get-PsGetModuleInfo ps* | format-list
Btw, right now is good time to start suggesting modules you want to see in directory.
P.S. Also I am thinking about short alias for install-module (e.g. install or psget or .. )
Introducing PsUrl and PsGet
For about three weeks I am sick with PowerShell. Of course, I used it for few years now, but now everything is different. I am automating stuff that I never though about. And this automation requires some helpers for comfortable work. This post is all about such utilities. ## PsUrl This story started from simple task, I needed download stuff and I have list of URLs. So the idea is `Get-Content Urls.txt | ... `. The problem with `...`, there is more or less nothing to download stuff from the web in PS. Of course we can use [WebClient](http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadstring.aspx) from .NET. (New-Object Net.WebClient).DownloadString($Url) Well, this works, but not really super native, for example you cannot pipe URL directly from Get-Content. So I decided to implement simple wrapper and package it as a module. This is how [PsUrl](https://github.com/chaliy/psurl/) micro project started. After installing PsUrl.psm1 module, you will get few commands. Most interesting is Get-Url. Get-Url http://example.com This will basically download stuff from example.com and return it as a string. Of course you can pipe in and pipe out. Get-Content Urls.txt | Get-Url $_ Get-Url http://example.com | Set-Content example.html Easy. The most visible problem here, is that you need install it. This is not super tricky, but rather annoying. This is how [PsGet](https://github.com/chaliy/psget/) micro project started. ## PsGet Inspired by [NuGet](http://nuget.org/), I started to think how to simplify module installation in PS. I found [Install-Module](http://poshcode.org/1875) script by Joel Bennett. It takes any single file module and install it to user modules or for global use. Do you see what I see? If you combine it with download stuff I already have, installation of the modules can became simple as Import-Module PsGet Install-Module https://github.com/chaliy/psurl/raw/master/PsUrl/PsUrl.psm1 Nice? Last command actually installs previous PsUrl module. I have huge plans (and hopes) about this project. Right now it supports installing multi file modules, zipped packages from web or local file. Will support NuGet, possible registry of modules. And btw, it has single line installer. (new-object System.Net.WebClient).DownloadString("https://github.com/chaliy/psget/raw/master/GetPsGet.ps1") | invoke-expression Downloads and installs PsGet for your user account. That is all for now, in few days I will describe how remotely install and fully configure web server without RDP. Enjoy!