#skype4b: SQL Mirror Database Failover Suspended (not synchronized state)

With SQL Database Mirroring setup in a Skype for Business Server infrastructure, the state of all databases should be uniform and not with “partial” cross over. That is to say, the status for both StateOnPrimary and StateOnMirror should either all be in the Principal or Mirror state when checked using Get-CsDatabaseMirrorState.

If that turns out otherwise, you can run Invoke-CsDatabaseFailover for the target Front-End pool to achieve this stable mirror state on both the primary and mirror SQL Database servers. Nevertheless, FailedWithError could happen where MirroringStatusOnPrimary and/or MirroringStatusOnMirror continue to show suspended and cannot reach a synchronized state.

Should a manual … Continue reading “#skype4b: SQL Mirror Database Failover Suspended (not synchronized state)”

#powershell Script: Find Active Directory User II

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

—–
Find-AdUserII is one of the many PowerShell functions/utilities in my personal script toolbox repository designed to help simplify the management and administration of just about any Active Directory Directory Services (AD DS) environments.

This self-explanatory utility works in PowerShell v2.0 and higher without any dependency on the AD PowerShell Module or other third party add-on. It accepts displayname as a parameter; you can customize the search criteria to any supported AD user attributes, for example. With the (auto) discovered forest/domain names, the function performs LDAP searches across multiple domains in your entire AD forest automagically (thanks to the .NET Framework). Enjoy!

################################################################################
# Copyright (c) 201x-2017 leedesmond.com
# All Rights Reserved. Use at your own risk and responsibility.
# Find-AdUserII.ps1
# Version 1.00
#
Continue reading “#powershell Script: Find Active Directory User II”

#powershell Script: Find Active Directory User I

Find-AdUserI is one of the many PowerShell functions/utilities in my personal script toolbox repository designed to help simplify the management and administration of just about any Active Directory Directory Services (AD DS) environments.

This self-explanatory utility works in PowerShell v2.0 and higher without any dependency on the AD PowerShell Module or other third party modules. It accepts SamAccountName as a parameter; you can customize the search criteria to displayname or any supported AD user attributes for example. You don’t even need to know or specify the domain name if your AD environment is a straightforward single forest single domain setup. Enjoy!

################################################################################
# Copyright (c) 201x-2017 leedesmond.com
# All Rights Reserved. Use at your own risk and responsibility.
# Find-AdUserI.ps1
# Version 1.00
#
Continue reading “#powershell Script: Find Active Directory User I”

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:

[System.Threading.Thread]::CurrentThread.CurrentCulture
[System.Threading.Thread]::CurrentThread.CurrentUICulture

* 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

../continue

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

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, …

Continue reading “#powershell: Fun with Switch Statement Part 2”