Virtualization, Cloud, Infrastructure and all that stuff in-between

My ramblings on the stuff that holds it all together

Category Archives: Uncategorized

How to find which port a device MAC address is plugged into on a Cisco switch

I have to do this every so-often to reverse engineer the cabling in my lab (which isn’t easily accessible, well.. without some walking and moving things), and by the time I have to do it, I’ve invariably forgotten the command fro the last time and waste time googling the many variants to do so, so – parking it here for reference!

show mac address-table | include

note: MAC needs to be in aaaa.bbbb format (don’t ask me why, you can also search for partial MACs, e.g the last 2 digits)

show mac address-table | include e50d

Will give you an output like..

100 0418.d6ac.e50d DYNAMIC Fa0/44

Troubleshoot IaaS performance problems in Azure

Given in the public cloud you’ve not got much visibility of what’s going on under the hood in your IaaS VMs this is a handy tool from MSFT – instructions and downloads here

Or you can install it from the Azure portal by following these steps (You’ll need the name and key for one of your storage accounts.

If you install it via the portal you don’t have to login to the VM to enable it.

POSH1Liner:Configure all hosts in a cluster

ok, a little more than a 1-liner; but a shell loop that you can use to do *something* to all hosts in a given cluster (in this case the cluster is called L2-C2; 2nd level of virtualization, e.g. not physical which is L1, 2nd cluster if you’re interested in my naming convention)

in this case it’s adding an iSCSI software adapter and pointing it at some targets – pause is optional (assumes you’re already connected to a vCenter via connect-vihost)

# Generic shell
$cluster = get-cluster L2-C2 | get-vmhost
foreach ($hypervisor in $cluster) {

write-host Doing config for $hypervisor
#Do stuff here for each host in the cluster $hypervisor is the hostname variable
Get-VMHostStorage -VMHost $hypervisor | Set-VMHostStorage -SoftwareIScsiEnabled $True
get-vmhost -name $hypervisor | Get-VMHostHba -Type iScsi | Where {$_.Model -eq “iSCSI Software Adapter”}
Get-VMHost -name $hypervisor | Get-VMHostHba -Type iScsi | New-IScsiHbaTarget -Address “172.16.20.20”
Get-VMHost -name $hypervisor | Get-VMHostHba -Type iScsi | New-IScsiHbaTarget -Address “172.16.20.21”
get-vmhost -name $hypervisor | get-VMhostStorage -refresh -RescanAllHba -RescanVmfs
write-host “————————————————————————————-”
pause #wait for keypress

POSH1Liner: Set NTP server on all hosts attached to a vCenter

Connect-VIServer L2-mgt-vcsa01.theborg.int
Get-VMHost | Add-VMHostNtpServer -ntpserver “pool.ntp.org”
Get-VMHost | Get-VMHostFirewallException | where {$_.Name -eq “NTP client”} | Set-VMHostFirewallException -Enabled:$true
Get-VMHost | Get-VmHostService | Where-Object {$_.key -eq “ntpd”} | Start-VMHostService
Get-VMhost | Get-VmHostService | Where-Object {$_.key -eq “ntpd”} | Set-VMHostService -policy “automatic”

Original script from this blog post Modified to add -ntpserver parameter and public NTP server name incase you don’t have your own

POSH1Liner:Deploy VM from template

Populate variables

$targetdisk = Get-Datastore -name vd03*
$target = get-vmhost -name l1-mgt-slotXX.theborg.int

#Deploy VM from template
new-vm -name L2-C2-NXX -Template TPL_vESXI -vmhost $target -Datastore $targetdisk -runasync

#rinse & repeat

Posh1Liner – Add ESX Host to vCenter

#Connect to vCenter server
$vc = connect-viserver -name l2-mgt-vcsa01.theborg.int
Add-VMHost -server $vc -name L2-C1-N4.theborg.int -location theBORG -user root -Password YourPassword -force -RunAsync

#then add to cluster L2-C1
Move-VMHost L2-C1-N1.theborg.int -destination L2-C1

#Add a bunch of hosts to vCenter 1 liner
for($i=99; $i -le 102; $i++) {$runline= “L2-C2-N” + $i +”.theborg.int” ; Add-VMHost -server $vc -name $runline -location theBORG -user root -Password VMware1! -force -RunAsync}

#put hosts following a naming pattern into maintenance mode
get-vmhost -name L2-c2* | set-vmhost -state maintenance

#move ESX host called L2-C2-N$i to L2-C2 cluster

for($i=2; $i -le 8; $i++) {$runline= “l2-c2-n” + $i +”.theborg.int” ; move-VMHost $runline -server $vc -destination L2-C2}

Clicking Configure to bind with a Google Android for Work account in Azure InTune doesn’t do anything

I hit this and scratched my head for ages. I was using a Mac (so I’ve not tried this in IE or Edge, where I would expect it to work).

if i hit the configure button under “device enrolment” / “Android for Work enrolment” it does nothing in Chrome or Safari (my 2 normal browsers)

spent ages disabling plugins, Private mode etc. however, weirdly – it worked 1st time in FireFox…

So if you hit the same issue and have found this via Google – try that.

online UI and docs are moving quickly for InTune as it’s absorbed into Azure.

weird.

Password sync Warning: no recent synchronization on Office365

If you manage an Office365 tenant like I do for my lab, and are security minded you may decide to change the password of the account you configured AAD Connect to use to talk to your on-prem Active Directory. For example if maybe you were lazy and used the default domain administrator account in your lab…. tut, tut :)) you need to update AAD Connect to reflect the new password otherwise you’ll get “Password sync Warning: no recent synchronization” on your admin page and no password changes will sync to Office365.

*I* thought you did this by running the Azure AD Connect tool and re-entering the password there, refreshing the directory. nope and other error logging is a bit sparse, other than the warning in the o365 tenant admin portal.

Password sync Warning: no recent synchronization on Office365

There are some excellent PowerShell utils for debugging this stuff in this post

in my case I got an error back like the following;

AAD Tenant - MyTenant.onmicrosoft.com
Password hash synchronization cloud configuration is enabled

AD Connector - MyDomain.tld
Password hash synchronization is enabled
No password hash synchronization heartbeat is detected

Connectivity:
=============
Directory Partition - MyDomain.tld
Password synchronization agent had a problem to resolve a domain controller in the domain "MyDomain.tld" at: 07/
11/2017 16:38:19 UTC
Please make sure AD Connector account username and password are correct
Only Use Preferred Domain Controllers: False
Checking connectivity to the domain...
Domain "MyDomain.tld" is reachable

Would you like to diagnose single object issues? [y/n]: n

For more help:
+ Please see - https://go.microsoft.com/fwlink/?linkid=847231 or
+ Open a service request through Azure Portal or Office 365 Admin Portal.

Which led me to think maybe AAD Connect was still using the old password.

To actually change the password and configure more details there is another utility outside of the Azure Connect wizard called “Synchronization service” which resides under “Azure AD Connect” on your start menu, run this. select the connectors to MyDomain.tld hit properties/Connect to AD Forest and update the password for the account you use to connect to on-prem AD.

You can also use this utility to configure a preferred domain controller if you don’t want it to follow the normal DC discovery process (useful if you have a segregated environment)

Blogged for when I have to do this again and invariably forget how..

Where there are geeks, there are gadgets – a cautionary vBeers tale

At the London VMUG we’ve held social beers in a pub after the event for over 10 years, in what has become known as vBeers.

In all that time I’m pleased to say that we’ve never had any problems, it’s all been good social fun. As you’d expect most of our attendees come with gadgets. Laptops, tablets, phones, watches etc. and we’ve never had any issues – other than the occasional identical bag or phone picked up by mistake. but quickly resolved.

Unfortunatley at our most recent event we were targetted by an oportunist thief who helped themselves to a selecton of gadgets from the bag pile – directly under the pub CCTV system.

The pub think they have identified the thief on CCTV and will be handing it over to the police.

Hopefully that won’t detract from future events or discourage you from attending some crime is unfortunatley inevitable in a large city like London but please do be careful and don’t make yourself a target. Keep an eye on your bag as you never know who is keeping an eye on your bag for you.

London and UK VMUG Dates 2016 and 2017

Dates for your diary for our future events, keep an eye on http://vmug.com/london for details of the agenda – Also feel free to join our LinkedIn group or follow our London VMUG Twitter feed and UKVMUG Feed to be kept up to date, we will post/tweet when the agenda and registration link is live as well as any logistical info.
2016

23 June at TechUK in London – followed by Luxury vBeers at a brewery
November 17th National Motorcycle Museum for the national UKVMUG

2017

19 January TechUK, London
6 April TechUK, London
22 June at TechUK, London
#UKVMUG 16th November at the National Motorcycle Museum, Solihull (Near Birmingham)

We (the committee) pride ourselves on promoting community content, we’re all about the U in VMUG – if you have an idea for a session at one of these events – you can use our handy call for papers form

Look forward to seeing you at a future meeting