Monthly Archives: March 2020

logo active directory

Migrating User and Password Objects between Active Directory Forests

As part of some internal lab work, I had to move the user objects with their passwords to a new forest. It was key to migrate the passwords to ensure that disruption to the users was minimized.

To migrate the users, I used the Microsoft Active Direction Migration Tool (ADMT + documentation) alongside the Password Migration Service.

migrate users between forests overview

In this blog post I am going to cover;

  • Create connectivity between both AD Forests
  • Installing the ADMT software + Password Migration Service
  • Creating a user list for migration
  • Migrating User objects + Passwords between AD Forests

Create connectivity between both AD Forests

There must be IP network connectivity between the DC’s in your Forests.

DNS setup

You need to configure conditional forwarders between your forests, so they can resolve one another.

On the source domain controller;

  1. Open up the DNS console, and right click the Conditional Forwarder folder to create a new record.
  2. Enter your target domain name and IP address/es of your domain controllers in the target domain. Select “store this conditional forwarder in active directory”, to replicate to other DCs in the source domain.

MIgrate users between a forests create conditional forwarder MIgrate users between a forests create conditional forwarder 2 Continue reading Migrating User and Password Objects between Active Directory Forests

basic powershell commands intro 670x335

Powershell snippet – text to secure string and output to XML file

Below is a quick Powershell command I use to convert passwords to secure strings and output to an XML file, I can encrypt that XML file locally on the machine where any scripts need to run from, and call it in another Powershell script.

$secpasswd = ConvertTo-SecureString "VMware1!" -AsPlainText -Force

#The logic used here between the brackets is Username,Password, where we call our previous variable

$mycreds = New-Object System.Management.Automation.PSCredential ("administrator", $secpasswd) 

$mycreds | export-clixml -path c:\temp\password.xml

It’s quick and easy to use, there will be other ways that may work better for you, if so, drop them in the comments.

vRA 8.0 header

vRSLCM – vRA fails to update from 8.0 to 8.0.1 – LCMVRAVACONFIG90030

When updating my vRealize Automation instance from 8.0 to 8.0.1, I ran into an issue;

LCMVRAVACONFIG90030

Error Code: LCMVRAVACONFIG90030

vRA VA Upgrade Status Check failed.

Upgrade prepare on vRA VA sc-dc1-vra001.simon.local failed with state error. To know more about the failure, run command "vracli upgrade status --details" on the vRA VA sc-dc1-vra001.simon.local. If the prepare upgrade issue is fixed outside vRSLCM, the vRSLCM request can be proceeded to next step by clicking RETRY with proceedNext property set to true. Optionally, the whole upgrade can be cancelled and started afresh by clicking RETRY with cancelAndStartAfresh property set to true. If both the retry properties are set to true,cancelAndStartAfresh property will take precedence and will be honoured

vRSLCM vRA8 failed upgrade veducate.co .uk

I logged into my vRA node, and ran the recommended command “vracli upgrade status –details”. This basically told me no running application servers were running. Which was odd, as my vRA installation was working.

vRSLCM vRA upgrade failed vracli upgrade status details veducate.co .uk

So I ran “vracli status” and immediately seen that I had some issue with my database in the vRA node. I’m unsure if this was a pre-upgrade issue, or happening during the upgrade.

[ERROR] Exception while getting DB nodes.
...
Error getting database node status

I decided to run “deploy.sh” which re-runs all the Kubernetes configuration, thus killing and restarting all the services. This seemed to resolve my issue, as running the upgrade again worked as expected.

vRSLCM vRA upgrade failed vracli status deploy.sh veducate.co .uk

If you encounter this situation, I would recommend you contact VMware Support for guidance, and information as to why your services have stopped. As this is in my lab environment, I do not have the same considerations as those that run production.

windows server

Windows Server 2019 Evaluation – Activation fails

I had issues converting one of my evaluation installations of Windows Server 2019 to a fully licensed copy. I’d extended the evaluation a few times using “slgmr /rearm” a few times, but had finally decided I was going to move this setup into production.

The issue

When going through the settings UI to activate, I could see an error message as below, and clicking the “Change product key” option did nothing.

Windows Activation 0x87E10BC6 veducate.co .uk

Running through the CLI using “slmgr.vbs” also returned errors;

CMD: 

Cscript.exe %windir%\system32\slmgr.vbs /ipk {key}

Error: 

0xC004F069 On a computer running Microsoft Windows non-core edition, run 'slui.exe 0x2a 0xC004F069' to display the error text.

Following the rabbit down the hole;

CMD: 

slui.exe 0x2a 0xC004F069 

Error: 

Code: 0xC004F069
Description:
The Software Licensing Service reported that the product SKU is not found.
The fix

Continue reading Windows Server 2019 Evaluation – Activation fails

Kubernetes

Kubernetes basics – kubeadm token create –print-join-command

Recently I’ve been using the fantastic resources to start learning Kubernetes (it’s the next big thing don’t you know). The course I’ve been following;

When running the command below, I lost connectivity to my master, which means I missed the print out of my join command to run on my woker nodes;

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

I was a little stumped how I get access to the print out again, and running the Kubeadm init, failed as initiation had already been done.

The fix for this was rather simple it seems by running the below;

kubeadmin token create --print-join-command

I was then given a new output to copy and paste to into my worker nodes. Don’t worry about the previous token that was issued, this will expire after 24 hours, which is the default timer.

kubeadm token create print join command veducate.co .ukkubeadm token create print join command ran on worker nodes veducate.co .uk