Archive for the 'PowerShell v3' Category

PowerShell script to set Skype status text to latest blog or twitter update

In my current company (Jelastic) we have something happening to us all the time: latest blog posts, awards, media mentions, etc. We are doing a decent job pushing these to various social media, but I also wanted to get these to my contacts in Skype (Skype gives you the ability to set your status text in your profile).

Below is the PowerShell v3 script that I wrote today to do that! 🙂

It takes the latest item from my blog and twitter feed, sees which of them is fresher, and (unless the tweet is just my reply to someone) pushes that to Skype (the property is called MoodText).

Here’s the script:

###################################################
# Set-SkypeStatusText.ps1
# Gets latest post from RSS feed (e.g. blog) and Twitter
# Picks whichever is the latest and sets it as status text (MoodText) in Skype
# (unless the latest tweet is a reply)
#
# NOTE: On x64 boxes, use PowerShell x86 (for Skype compat)
#
##################################################
# (c) 2012 - Dmitry Sotnikov
##################################################

# Customize these for yourself
$myblog = "http://blog.jelastic.com/feed/"
$myTwitterHandle = "DSotnikov"

# Get the blog feed
$blogFeed = Invoke-RestMethod $myblog

# Get the twitter feed
$twitterFeed = Invoke-RestMethod `
"https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=$myTwitterHandle"


# If twitter is more recent and not a reply (does not start with @) use it
if (($twitterFeed[0].pubDate -gt $blogFeed[0].pubDate) -and
($twitterFeed[0].description[$myTwitterHandle.Length+2] -ne "@")){
$latestPost = $twitterFeed[0].description.Substring($myTwitterHandle.Length+2)
} else {
$latestPost = "$($blogFeed.Item(0).title): $($blogFeed.Item(0).link)"
}

# Set the status in twitter
$skype = New-Object -ComObject Skype4Com.Skype
$skype.CurrentUserProfile.MoodText = $latestPost

Now if you want to have this happen automatically you can just schedule it using Windows Task Scheduler.

Important:

  • Make sure that you use 32-bit (x86) version of PowerShell if you are on 64-bit Windows – otherwise Skype object will not get found (so the filepath for the Windows task on x64 Windows will likely be %SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe)
  • Either sign your script or set ExecutionPolicy to RemoteSigned – otherwise the script execution will fail.

New in PowerShell 3: Parse HTML without IE object (unless a local file)

Remember how in PowerShell v1 and v2 we used to have to create Internet Explorer object each time we wanted to parse HTML page? This kind of works but has a few inconveniences such as having to insert Start-Sleep every now and then because IE can be busy and fail if you request too much from it too quickly.

In PowerShell v3, for web pages, things become much easier. Just do:

$p = Invoke-WebRequest "https://dmitrysotnikov.wordpress.com"

And $p.ParsedHtml.body will let you iterate though all web page elements!

However, there is a scenario in which you will have to revert to the old IE ways – local files. If the HTML file is on your local disk, $p will not have the ParsedHtml property. And you will have to use the IE COM object like you did in earlier versions of PowerShell:

$ie = new-object -com "InternetExplorer.Application"
# The easiest way to accomodate for slowness of IE
Start-Sleep -Seconds 1
$ie.Navigate("D:\SavedPage.htm")
# The easiest way to accomodate for slowness of IE
Start-Sleep -Seconds 1
$ParsedHtml = $ie.Document

Happy scripting!

Parsing LinkedIn html pages with PowerShell

A couple of weeks ago we posted a job opening on LinkedIn (were looking for a person to be in charge of our Jelastic‘s professional services), and it turned out that while LinkedIn jobs attract a lot of applications, the site itself does not make it easy to process them afterwards. You get CVs in email, and they also post a list of applicants with email addresses, phone numbers, titles, etc. – but there is no way to export the list to, say, Excel. In our case, we really wanted to have the data exported, so we could jointly work on a shared spreadsheet and everyone involved could grade each applicant and add notes to the table.

Being a PowerShell guy, I wrote the script below that does the scraping for me. 🙂 Basically, I just saved the page with the list of applicants to my local disk and found that in their html, each applicant information is contained in vcard element, which has class name with LinkedIn URL and the actual name, and then elements with email and phone number:

So all my script has to do is: create an IE object and then use it to find the corresponding fields, then create custom objects from them, add them to the collection, and export it to CSV. Here’s the code – hope it helps you solve similar tasks when other sites do not provide good export capabilities:

$ie = new-object -com "InternetExplorer.Application"

# The easiest way to accomodate for slowness of IE
Start-Sleep -Seconds 1

$ie.Navigate("D:\Temp\LinkedIn.htm")

# The easiest way to accomodate for slowness of IE
Start-Sleep -Seconds 1

$doc = $ie.Document

# Get a collection of vcard elements
$cards = $doc.body.getElementsByClassName("vcard")

# This will be our collection of parsed objects
$processesCards = @()

# Iterate through the collection
for ($i=0; $i -lt $cards.length; $i++) {

 $itm = $cards.item($i)

 # Get the 'name' element that has the applicant name and URL
 $name = $itm.getElementsByClassName("name").item(0).
                       getElementsByTagName("a").item(0)

 # If you want you can output the name to the screen 
 # so you know where you are
 $name.outerText

 # Get the phone number and email address
 $phone = $itm.getElementsByClassName("phone").item(0)
 $email = `
   $itm.getElementsByClassName("trk-applicant-email").item(0)

 # Below is PowerShell v3 notation. 
 # In v2, replace '[pscustomobject]' with 
 # 'new-object psobject -Property' 
 $obj = [pscustomobject] @{"name"=$name.outerText; 
                           "url"=$name.href; 
                           "email"=$email.outerText; 
                           "phone"= $phone.outerText }

 $processesCards += $obj

}

# Export to CSV - which you can open in Excel
$processesCards | Export-Csv D:\Temp\linkedin.csv 

PowerShell v3 at Deep Dive next week

Want to learn more about the next version of PowerShell? Come to Frankfurt October 17 & 18 for the first European PowerShell Deep Dive!

There will be a few sessions in the agenda specifically covering what’s new in PowerShell 3.0, including but not limited to these sessions:

  • This will be the main topic of the keynote which Kenneth Hansen (Principal Program Manager in charge of PowerShell) will deliver kicking off the conference.
  • I will be covering both PowerShell v2 and PowerShell v3 in my session on PowerShell Jobs.
  • Jason Shirk will inevitably get there with his talk on the Evolution of the PowerShell Language

 

And there will be PowerShell v3 tables at the Script Party – so you can kick the tires and ask the questions without having to install PowerShell v3 yourself.

It’s not too late to sign up for the October 17 & 18 Deep Dive:

  1. Go to the TEC registration page
  2. Create an account. You need to do this again for TEC Europe, even if you attended TEC USA earlier this year.
  3. Enter registration code: ATGNJR6E
  4. Select “PowerShell Deep Dive” for the “Which conference do you plan to attend” question.

PowerShell v3 at BUILD Conference round-up

Now that all PowerShell sessions at Microsoft’s BUILD Windows conference are over, here’s my quick summary from the event from PowerShell perspective.

PowerShell was big in the session track of the conference. Even the server sessions which had nothing to do with PowerShell typically had PowerShell in demos when it came to server management tasks.

The biggest PowerShell highlight of the event was that Windows 8 ships with PowerShell v3 and the Windows server already has more than 2300 cmdlets in it!

Also, PowerShell v3 is not going to be a Windows 8 thing only. Jeffrey committed to shipping standalone PowerShell v3 setup for Windows 7 simultaneously with Windows 8, and a preview version of that Windows 7 setup might come as early as next week!

UPDATE: Here’s the Windows 7 / Server 2008 R2 CTP setup.

Below are the highlights of the sessions and links to the video recordings and slides.

Sessions by Jeffrey and Refaat:

Make your product manageable Make your product manageable – session on the new manageability options in PowerShell v3:

  • Now it is easier to write a WMI providers (for example skeleton is generated for you),
  • WMI provider van be automatically converted to cmdlets so you get -whatif, etc.,
  • Workflows are fully compatible with PowerShell and can be run directly from PowerShell, and PowerShell cmdlets can be used as Workflow activities,
  • PowerShell Web API – REST (OData) API to PowerShell cmdlets.


Manage a highly-efficient environment at scale using the Windows Management Framework (WMF)Manage a highly-efficient environment at scale using the Windows Management Framework (WMF):

  • New interfaces for CIM/WMI,
  • Improvements in remoting,
  • Workflows and cmdlets + suspend/resume and ability to survive reboots,
  • Multiple improvements in PowerShell jobs including native support for jobs as Windows Scheduled Tasks,
  • NanoWBEM – Microsoft’s Linux (!) component to make non-Windows and devices manageable from PowerShell.

Sessions featuring Jeffrey:

Windows Server 8 track keynote – Jeffrey Snover gives a demo on multi-machine management around 30 minutes into the session:

Windows Server 8

Windows Server 8 apps must run without a GUI  – great session on Server Core improvements with Jeffrey providing the big picture on it and PowerShell role in this set up:

Windows Server 8 apps must run without a GUI - learn more now

First Glimpse at PowerShell v3

I finally got a hold of Windows 8 laptop (thank you Microsoft!), connected a keyboard, launched PowerShell and here are the first few results before I run to the dinner. 😉

First off, let’s check the version:

PS C:\> $host.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
3      0      -1     -1

So far so good…

When I tried to get all modules, at some point the operation failed but a lot still got added:

PS C:\> (Get-Module -All).count
234
PS C:\> (Get-Module -ListAvailable).count
44

A lot of the modules though seem to be automatically generated from CIM classes:

PS C:\> Get-Module -All

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Manifest   AppLocker                 {Get-AppLockerFileInformation, Get-AppLockerPolicy, New-AppLockerPolicy,...
Script     Appx                      Get-AppxLastError
Binary     Appx                      {Add-AppxPackage, Get-AppxPackage, Get-AppxPackageManifest, Remove-AppxP...
Script     BitLocker                 {Add-BitLockerKeyProtector, Add-BitLockerPassphraseProtector, Add-BitLoc...
Manifest   BitsTransfer              {Add-BitsFile, Complete-BitsTransfer, Get-BitsTransfer, Remove-BitsTrans...
Manifest   BranchCache               {Add-BCDataCacheExtension, Clear-BCCache, Disable-BC, Disable-BCDowngrad...
Cim        BranchCacheClientSetti... Get-BCClientSettings
Cim        BranchCacheContentServ... Get-BCContentServerSettings
Cim        BranchCacheHostedCache... Get-BCHostedCacheServerSettings
Cim        BranchCacheNetworkSett... Get-BCNetworkSettings
Cim        BranchCacheOrchestrator   {Add-BCDataCacheExtension, Clear-BCCache, Disable-BC, Disable-BCDowngrad...
Cim        BranchCachePrimaryPubl... Get-BCHashCache
Cim        BranchCachePrimaryRepu... Get-BCDataCache
Cim        BranchCacheSecondaryRe... Get-BCDataCacheExtension
Cim        BranchCacheStatus         Get-BCStatus
Manifest   CimCmdlets                {Get-CimAssociatedInstance, Get-CimClass, Get-CimInstance, Get-CimSessio...
Manifest   DirectAccessClientComp... {Disable-DAManualSiteSelection, Enable-DAManualSiteSelection, Get-DAClie...
Cim        Disk                      {Clear-Disk, Get-Disk, Initialize-Disk, New-Partition...}
Script     Dism                      {Add-Driver, Add-Package, Add-ProvisionedAppxPackage, Clear-CorruptMount...
Manifest   DnsClient                 {Resolve-DnsName, Add-DnsClientNrptRule, Clear-DNSClientCache, Get-DNSCl...
Manifest   DnsConfig                 {Clear-DNSClientCache, Get-DNSClient, Get-DNSClientCache, Get-DNSGlobalS...
Binary     DnsLookup                 Resolve-DnsName
Manifest   DnsNrpt                   {Add-DnsClientNrptRule, Get-DnsClientEffectiveNrptPolicy, Get-DnsClientN...
Cim        InitiatorId               {Get-InitiatorId, Remove-InitiatorId}
Cim        InitiatorPort             {Get-InitiatorPort, Set-InitiatorPort}
Manifest   iSCSI                     {Connect-IscsiDiscoveredTarget, Disconnect-IscsiDiscoveredTarget, Get-Is...
Cim        iSCSIConnection           Get-IscsiConnection
Cim        iSCSIDiscoveredTarget     {Connect-IscsiDiscoveredTarget, Disconnect-IscsiDiscoveredTarget, Get-Is...
Cim        iSCSIInitiator            Set-IscsiInitiator
Cim        iSCSIPersistentTarget     {Get-IscsiPersistentTarget, Register-IscsiPersistentTarget, Unregister-I...
Cim        iSCSISession              Get-IscsiSession
Cim        iSCSITargetPortal         {Get-IscsiTargetPortal, New-IscsiTargetPortal, Remove-IscsiTargetPortal,...

Looking at the standard PowerShell modules we get:

PS C:\> Get-Module Microsoft.PowerShell.*

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Manifest   Microsoft.PowerShell.Core {Add-History, Add-PSSnapin, Clear-History, Connect-PSSession...}
Manifest   Microsoft.PowerShell.D... {Export-Counter, Get-Counter, Get-WinEvent, Import-Counter...}
Manifest   Microsoft.PowerShell.Host {Start-Transcript, Stop-Transcript}
Manifest   Microsoft.PowerShell.M... {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Content...}
Manifest   Microsoft.PowerShell.S... {ConvertFrom-SecureString, ConvertTo-SecureString, Get-Acl, Get-Authenti...
Manifest   Microsoft.PowerShell.U... {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
PS C:\> (get-command -Module Microsoft.PowerShell.*).count
248

Here’s a quick list of all the standard cmdlets in the box at the moment:

PS C:\> get-command -Module Microsoft.PowerShell.* | sort module, noun | format-table ModuleName, Name -AutoSize

ModuleName                       Name
----------                       ----
Microsoft.PowerShell.Core        Invoke-Command
Microsoft.PowerShell.Core        Get-Command
Microsoft.PowerShell.Core        Export-Console
Microsoft.PowerShell.Core        Out-Default
Microsoft.PowerShell.Core        Save-Help
Microsoft.PowerShell.Core        Get-Help
Microsoft.PowerShell.Core        Update-Help
Microsoft.PowerShell.Core        Add-History
Microsoft.PowerShell.Core        Invoke-History
Microsoft.PowerShell.Core        Clear-History
Microsoft.PowerShell.Core        Get-History
Microsoft.PowerShell.Core        Out-Host
Microsoft.PowerShell.Core        Get-Job
Microsoft.PowerShell.Core        Suspend-Job
Microsoft.PowerShell.Core        Stop-Job
Microsoft.PowerShell.Core        Receive-Job
Microsoft.PowerShell.Core        Wait-Job
Microsoft.PowerShell.Core        Resume-Job
Microsoft.PowerShell.Core        Start-Job
Microsoft.PowerShell.Core        Remove-Job
Microsoft.PowerShell.Core        Register-JobEvent
Microsoft.PowerShell.Core        Import-Module
Microsoft.PowerShell.Core        New-Module
Microsoft.PowerShell.Core        Get-Module
Microsoft.PowerShell.Core        Remove-Module
Microsoft.PowerShell.Core        Test-ModuleManifest
Microsoft.PowerShell.Core        New-ModuleManifest
Microsoft.PowerShell.Core        Export-ModuleMember
Microsoft.PowerShell.Core        Out-Null
Microsoft.PowerShell.Core        ForEach-Object
Microsoft.PowerShell.Core        Where-Object
Microsoft.PowerShell.Core        Set-PSDebug
Microsoft.PowerShell.Core        Enable-PSRemoting
Microsoft.PowerShell.Core        Disable-PSRemoting
Microsoft.PowerShell.Core        Get-PSSession
Microsoft.PowerShell.Core        Enter-PSSession
Microsoft.PowerShell.Core        Exit-PSSession
Microsoft.PowerShell.Core        New-PSSession
Microsoft.PowerShell.Core        Remove-PSSession
Microsoft.PowerShell.Core        Connect-PSSession
Microsoft.PowerShell.Core        Receive-PSSession
Microsoft.PowerShell.Core        Disconnect-PSSession
Microsoft.PowerShell.Core        Register-PSSessionConfiguration
Microsoft.PowerShell.Core        Disable-PSSessionConfiguration
Microsoft.PowerShell.Core        Unregister-PSSessionConfiguration
Microsoft.PowerShell.Core        Set-PSSessionConfiguration
Microsoft.PowerShell.Core        Get-PSSessionConfiguration
Microsoft.PowerShell.Core        Enable-PSSessionConfiguration
Microsoft.PowerShell.Core        Test-PSSessionConfigurationFile
Microsoft.PowerShell.Core        New-PSSessionConfigurationFile
Microsoft.PowerShell.Core        New-PSSessionOption
Microsoft.PowerShell.Core        Add-PSSnapin
Microsoft.PowerShell.Core        Remove-PSSnapin
Microsoft.PowerShell.Core        Get-PSSnapin
Microsoft.PowerShell.Core        New-PSTransportOption
Microsoft.PowerShell.Core        Set-StrictMode
Microsoft.PowerShell.Diagnostics Get-Counter
Microsoft.PowerShell.Diagnostics Import-Counter
Microsoft.PowerShell.Diagnostics Export-Counter
Microsoft.PowerShell.Diagnostics Get-WinEvent
Microsoft.PowerShell.Diagnostics New-WinEvent
Microsoft.PowerShell.Host        Start-Transcript
Microsoft.PowerShell.Host        Stop-Transcript
Microsoft.PowerShell.Management  Get-ChildItem
Microsoft.PowerShell.Management  Export-CimCommand
Microsoft.PowerShell.Management  Stop-Computer
Microsoft.PowerShell.Management  Checkpoint-Computer
Microsoft.PowerShell.Management  Add-Computer
Microsoft.PowerShell.Management  Restore-Computer
Microsoft.PowerShell.Management  Remove-Computer
Microsoft.PowerShell.Management  Rename-Computer
Microsoft.PowerShell.Management  Restart-Computer
Microsoft.PowerShell.Management  Reset-ComputerMachinePassword
Microsoft.PowerShell.Management  Enable-ComputerRestore
Microsoft.PowerShell.Management  Disable-ComputerRestore
Microsoft.PowerShell.Management  Get-ComputerRestorePoint
Microsoft.PowerShell.Management  Test-ComputerSecureChannel
Microsoft.PowerShell.Management  Test-Connection
Microsoft.PowerShell.Management  Add-Content
Microsoft.PowerShell.Management  Get-Content
Microsoft.PowerShell.Management  Clear-Content
Microsoft.PowerShell.Management  Set-Content
Microsoft.PowerShell.Management  Show-ControlPanelItem
Microsoft.PowerShell.Management  Get-ControlPanelItem
Microsoft.PowerShell.Management  Write-EventLog
Microsoft.PowerShell.Management  New-EventLog
Microsoft.PowerShell.Management  Limit-EventLog
Microsoft.PowerShell.Management  Remove-EventLog
Microsoft.PowerShell.Management  Show-EventLog
Microsoft.PowerShell.Management  Get-EventLog
Microsoft.PowerShell.Management  Clear-EventLog
Microsoft.PowerShell.Management  Get-HotFix
Microsoft.PowerShell.Management  Move-Item
Microsoft.PowerShell.Management  Invoke-Item
Microsoft.PowerShell.Management  Rename-Item
Microsoft.PowerShell.Management  Copy-Item
Microsoft.PowerShell.Management  Get-Item
Microsoft.PowerShell.Management  Remove-Item
Microsoft.PowerShell.Management  Set-Item
Microsoft.PowerShell.Management  New-Item
Microsoft.PowerShell.Management  Clear-Item
Microsoft.PowerShell.Management  Remove-ItemProperty
Microsoft.PowerShell.Management  New-ItemProperty
Microsoft.PowerShell.Management  Get-ItemProperty
Microsoft.PowerShell.Management  Move-ItemProperty
Microsoft.PowerShell.Management  Clear-ItemProperty
Microsoft.PowerShell.Management  Copy-ItemProperty
Microsoft.PowerShell.Management  Rename-ItemProperty
Microsoft.PowerShell.Management  Set-ItemProperty
Microsoft.PowerShell.Management  Get-Location
Microsoft.PowerShell.Management  Set-Location
Microsoft.PowerShell.Management  Push-Location
Microsoft.PowerShell.Management  Pop-Location
Microsoft.PowerShell.Management  Convert-Path
Microsoft.PowerShell.Management  Resolve-Path
Microsoft.PowerShell.Management  Join-Path
Microsoft.PowerShell.Management  Split-Path
Microsoft.PowerShell.Management  Test-Path
Microsoft.PowerShell.Management  Wait-Process
Microsoft.PowerShell.Management  Get-Process
Microsoft.PowerShell.Management  Debug-Process
Microsoft.PowerShell.Management  Start-Process
Microsoft.PowerShell.Management  Stop-Process
Microsoft.PowerShell.Management  Get-PSDrive
Microsoft.PowerShell.Management  Remove-PSDrive
Microsoft.PowerShell.Management  New-PSDrive
Microsoft.PowerShell.Management  Get-PSProvider
Microsoft.PowerShell.Management  New-Service
Microsoft.PowerShell.Management  Set-Service
Microsoft.PowerShell.Management  Resume-Service
Microsoft.PowerShell.Management  Restart-Service
Microsoft.PowerShell.Management  Stop-Service
Microsoft.PowerShell.Management  Start-Service
Microsoft.PowerShell.Management  Get-Service
Microsoft.PowerShell.Management  Suspend-Service
Microsoft.PowerShell.Management  Start-Transaction
Microsoft.PowerShell.Management  Complete-Transaction
Microsoft.PowerShell.Management  Get-Transaction
Microsoft.PowerShell.Management  Use-Transaction
Microsoft.PowerShell.Management  Undo-Transaction
Microsoft.PowerShell.Management  New-WebServiceProxy
Microsoft.PowerShell.Management  Register-WmiEvent
Microsoft.PowerShell.Management  Set-WmiInstance
Microsoft.PowerShell.Management  Invoke-WmiMethod
Microsoft.PowerShell.Management  Remove-WmiObject
Microsoft.PowerShell.Management  Get-WmiObject
Microsoft.PowerShell.Security    Set-Acl
Microsoft.PowerShell.Security    Get-Acl
Microsoft.PowerShell.Security    Set-AuthentipreSignature
Microsoft.PowerShell.Security    Get-AuthentipreSignature
Microsoft.PowerShell.Security    Get-Credential
Microsoft.PowerShell.Security    Set-ExecutionPolicy
Microsoft.PowerShell.Security    Get-ExecutionPolicy
Microsoft.PowerShell.Security    Get-PfxCertificate
Microsoft.PowerShell.Security    ConvertTo-SecureString
Microsoft.PowerShell.Security    ConvertFrom-SecureString
Microsoft.PowerShell.Utility     Export-Alias
Microsoft.PowerShell.Utility     New-Alias
Microsoft.PowerShell.Utility     Import-Alias
Microsoft.PowerShell.Utility     Set-Alias
Microsoft.PowerShell.Utility     Get-Alias
Microsoft.PowerShell.Utility     Export-Clixml
Microsoft.PowerShell.Utility     Import-Clixml
Microsoft.PowerShell.Utility     Trace-Command
Microsoft.PowerShell.Utility     Show-Command
Microsoft.PowerShell.Utility     Measure-Command
Microsoft.PowerShell.Utility     ConvertTo-Csv
Microsoft.PowerShell.Utility     ConvertFrom-Csv
Microsoft.PowerShell.Utility     Export-Csv
Microsoft.PowerShell.Utility     Import-Csv
Microsoft.PowerShell.Utility     Get-Culture
Microsoft.PowerShell.Utility     Format-Custom
Microsoft.PowerShell.Utility     Get-Date
Microsoft.PowerShell.Utility     Set-Date
Microsoft.PowerShell.Utility     Write-Debug
Microsoft.PowerShell.Utility     Register-EngineEvent
Microsoft.PowerShell.Utility     Write-Error
Microsoft.PowerShell.Utility     Unregister-Event
Microsoft.PowerShell.Utility     Get-Event
Microsoft.PowerShell.Utility     New-Event
Microsoft.PowerShell.Utility     Wait-Event
Microsoft.PowerShell.Utility     Remove-Event
Microsoft.PowerShell.Utility     Get-EventSubscriber
Microsoft.PowerShell.Utility     Invoke-Expression
Microsoft.PowerShell.Utility     Unblock-File
Microsoft.PowerShell.Utility     Out-File
Microsoft.PowerShell.Utility     Get-FormatData
Microsoft.PowerShell.Utility     Export-FormatData
Microsoft.PowerShell.Utility     Update-FormatData
Microsoft.PowerShell.Utility     Out-GridView
Microsoft.PowerShell.Utility     Read-Host
Microsoft.PowerShell.Utility     Get-Host
Microsoft.PowerShell.Utility     Write-Host
Microsoft.PowerShell.Utility     ConvertTo-Html
Microsoft.PowerShell.Utility     ConvertFrom-Json
Microsoft.PowerShell.Utility     ConvertTo-Json
Microsoft.PowerShell.Utility     Format-List
Microsoft.PowerShell.Utility     Update-List
Microsoft.PowerShell.Utility     Import-LocalizedData
Microsoft.PowerShell.Utility     Send-MailMessage
Microsoft.PowerShell.Utility     Add-Member
Microsoft.PowerShell.Utility     Get-Member
Microsoft.PowerShell.Utility     Compare-Object
Microsoft.PowerShell.Utility     Tee-Object
Microsoft.PowerShell.Utility     New-Object
Microsoft.PowerShell.Utility     Measure-Object
Microsoft.PowerShell.Utility     Group-Object
Microsoft.PowerShell.Utility     Select-Object
Microsoft.PowerShell.Utility     Sort-Object
Microsoft.PowerShell.Utility     Register-ObjectEvent
Microsoft.PowerShell.Utility     Write-Output
Microsoft.PowerShell.Utility     Out-Printer
Microsoft.PowerShell.Utility     Write-Progress
Microsoft.PowerShell.Utility     Get-PSBreakpoint
Microsoft.PowerShell.Utility     Enable-PSBreakpoint
Microsoft.PowerShell.Utility     Disable-PSBreakpoint
Microsoft.PowerShell.Utility     Remove-PSBreakpoint
Microsoft.PowerShell.Utility     Set-PSBreakpoint
Microsoft.PowerShell.Utility     Get-PSCallStack
Microsoft.PowerShell.Utility     Export-PSSession
Microsoft.PowerShell.Utility     Import-PSSession
Microsoft.PowerShell.Utility     Get-Random
Microsoft.PowerShell.Utility     Invoke-RestMethod
Microsoft.PowerShell.Utility     Start-Sleep
Microsoft.PowerShell.Utility     Out-String
Microsoft.PowerShell.Utility     Select-String
Microsoft.PowerShell.Utility     ConvertFrom-StringData
Microsoft.PowerShell.Utility     Format-Table
Microsoft.PowerShell.Utility     New-TimeSpan
Microsoft.PowerShell.Utility     Get-TraceSource
Microsoft.PowerShell.Utility     Set-TraceSource
Microsoft.PowerShell.Utility     Add-Type
Microsoft.PowerShell.Utility     Update-TypeData
Microsoft.PowerShell.Utility     Remove-TypeData
Microsoft.PowerShell.Utility     Get-TypeData
Microsoft.PowerShell.Utility     Get-UICulture
Microsoft.PowerShell.Utility     Get-Unique
Microsoft.PowerShell.Utility     Get-Variable
Microsoft.PowerShell.Utility     Remove-Variable
Microsoft.PowerShell.Utility     New-Variable
Microsoft.PowerShell.Utility     Clear-Variable
Microsoft.PowerShell.Utility     Set-Variable
Microsoft.PowerShell.Utility     Write-Verbose
Microsoft.PowerShell.Utility     Write-Warning
Microsoft.PowerShell.Utility     Invoke-WebRequest
Microsoft.PowerShell.Utility     Format-Wide
Microsoft.PowerShell.Utility     Select-Xml
Microsoft.PowerShell.Utility     ConvertTo-Xml

To be continued… 😉


My Recent Tweets

Legal

The posts on this blog are provided “as is” with no warranties and confer no rights. The opinions expressed on this site are mine and mine alone, and do not necessarily represent those of my employer - WSO2 or anyone else for that matter. All trademarks acknowledged.

© 2007-2014 Dmitry Sotnikov

August 2017
M T W T F S S
« Aug    
 123456
78910111213
14151617181920
21222324252627
28293031  

%d bloggers like this: