#powershell Write-Progress Suppress Status Bar Display

By default with the Write-Progress cmdlet,

$ProgressPreference -eq “Continue”   #$true

where the progress bar display (status) in a Windows PowerShell command window can be suppressed with

$ProgressPreference = “SilentlyContinue”

Note that this setting apparently works only in a regular remote RDP session but not over a PS Remoting session, a fact that the official documentation does not mention.

Hence, Write-Verbose or Write-Host may be your only options to provide a visual status indication.

#powershell Script: Find Active Directory User II (Update v1.10)

The Find-AdUserII function listed here is an update to this. It now accepts a text parameter which is used to search for an AD user based on a number of common properties like displayname or samaccountname. Using this as a starting point, … Read more “#powershell Script: Find Active Directory User II (Update v1.10)”

#skype4b Reset Presence Status with PowerShell (and LyncSdk)

#skype4b #powershell Auto Enforce User-defined Lync/Skype Presence Status

You may notice that since the launch of Lync 2010 client to the latest Skype for Business 2016 (desktop) client, user’s manually configured Presence Status automatically reverts to Available after some predetermined time-out period [1]. This is unlike system managed status such as In a call or In a conference* which remains unchanged as long as the session is active (even with a locked computer).

To regain control over presence status set explicitly by hand, you can deploy PowerShell in combination with … Read more “#skype4b Reset Presence Status with PowerShell (and LyncSdk)”

Windows PowerShell 2.0 Deprecated in Windows 10 Fall Creators Update

Windows PowerShellAccording to the Microsoft KB article* entitled “Features that are removed or deprecated in Windows 10 Fall Creators Update“, Windows PowerShell 2.0, which shipped out of the box in Windows 7 and Windows Server 2008 R2, will be deprecated.

On platforms earlier than Windows Server 2016 and Windows 10 Build 1511, customers are advised to migrate applications and components to PowerShell 5.x.

Deprecated = not in active development and might be removed in future releases.

* Article ID: 4034825 – Last Review: Jul 24, 2017 Revision: 20

#powershell Non US Locale Culture (Thread)

Windows PowerShellIn an environment where US English is not the language locale selected during installation of the Windows OS or as defined in Control Panel*, operations in PowerShell may behave differently or fail altogether (where dependencies on this setting may not be obvious e.g. COM object interaction with Microsoft Office Suite of products).

To avoid nasty surprises in PowerShell, consider saving both the current culture and UI culture values for the present (current) thread, set them explicitly to “en-us”, perform the needed tasks then revert back to the original system values.

The static threads we are looking for are:


* Region and Language > Formats > Format / Location > Current Location

Speaker PowerShell Conference 2017 Asia – Singapore 26-28 Oct 2017

The PowerShell Conference 2015, Asia (Singapore 18-19 Sep, 2015)

For the third time in a row I shall be a Speaker at the (3rd) PowerShell Asia Conference 2017 this time talking about “Working Faster & Smarter with PowerShell”. This will once again take place in Singapore from Fri 27 to Sat 28 Oct 2017 with a great line-up of speakers, excellent food, conference party and a popular pre-conference day (Thu 26.10.2017).

Singapore Night Scenery

More information and registration here. Do not miss out this wonderful opportunity to stay over to travel around and explore Singapore and the amazing South-East Asian countries. See you soon!

#psconfasia #ITPro #PowerShell #Singapore

Follow me for all the buzz -> @_leedesmond (Twitter)!

#powershell: Fun with Switch Statement Part 2


switch ($d) { { “default” } { “d” } { “others” } { “o” } }
$d = “Default”
$d = “others

Basically, the odd script blocks {namely “default” and “others”} are the actual criteria to be tested in the #powershell switch block. In this instance, there is essentially nothing to check for hence whatever criterion given to the switch block will always be deemed as valid matches regardless of values or object types.

Unless each incoming object needs to be processed and not just a “simple” match, represented by the special $_ variable, …

Read more “#powershell: Fun with Switch Statement Part 2”