And let me take a look here, so it's event ID 71.
Okay, the migration wizard couldn't access the print$ share on mem1.
Yeah, okay.
So we've got some additional work to do to finish this.
Yeah, so we're going to have to restart that again.
We probably could get this done from the remote machine.
I'm really curious about this,
so let's go ahead and create mstsc to open up the Remote Desktop connection.
Let's do a mem1.
I'm going to do a mem1.timw.info.
So let's sign into that remote machine using my current credentials,
and I'm going to open up the Print Management console from the Start menu.
And again, let's do a Migrate Printers.
We're going to do an import, select the file.
Now I did through the magic of video editing copy that printer's folder
locally just so we don't have to go over the network.
And again, I'm just specifying all the defaults, keep existing list printers.
I'm going to override existing.
I'm going to list all printers.
Looks like we're getting somewhere here.
Sometimes, you just have to work locally, don't you?
Good, completed with no errors.
That's what we want to see.
So if I expand the Print Servers and go to Printers,
we can see that full queue has been successfully migrated.
Good, so now let's close out of our mem1 session,
and we'll come back to our old host, and let's launch directly into DHCP.
So to review, I've got the DHCP console up here.
So, the way I've got the win2019 box set up is,
first of all, we can verify that it is authorized.
That is the server is an authorized DHCP server in my domain.
I'm not doing IPv6,
but I do have an activated scope in my IPv4 bucket
where I've got an address pool.
I've got, let's see, it looks like one active lease, no reservations.
I do have some scope options.
I'm distributing my default gateway,
and DNS Servers and Domain Name as properties,
and that's great.
Notice here, we've got in the graphical user interface Backup and Restore.
So that would be a graphical approach,
but we're going to use the server migration tools.
Let's go back to PowerShell,
and let's take a look here at a couple other options.
Let me exit my remote session, clear the terminal, and let's look here.
So in Migrate DHCP, it looks like I've done a couple things.
I'm showing you the backup and restore, but in PowerShell, you see?
So we could do Export‑DhcpServer to bring out everything,
and you would run something like Get‑Help examples to view examples
in the online help for this command because that might surface
parameters that you didn't know existed,
and we can import on the destination server.
That's fine and good.
But what we're going to do is now that we have the migration tools
installed on both the source and destination,
we're going to bring them over that way.
So I'm going to do this quickly to make sure I don't
have any denial of services happening.
Elsewhere in this training, I don't remember offhand if it's in AZ‑800 or AZ‑801,
as a matter of fact.
I think it's in this learning path.
We do DHCP high availability in which you would have
more than one DHCP server anyway.
But in this case, I'm going to temporarily stop the DHCP server service,
and I'm going to load in the migration tools.
Now, unfortunately, those migration cmdlets,
they're part of the old snap‑in architecture,
so they don't use the current module architecture,
so we have to manually import that module.
This line is optional,
but it's allowing you to get a dump of all of your IP config
settings as a text file because you may not just want to
migrate your DHCP server database,
but you may again want to transition the IP settings of the server as well,
you see?
Now the command we're concerned with are
Export‑SmigServerSetting and Import‑SmigServerSetting.
If you're running really old Windows servers like 2008,
2012, there's a SmigDeploy.exe.
There are some additional steps that you have to follow in
terms of setting up a deployment share.
I would encourage you to look in the Microsoft docs to read in more
detail on these Windows Server migration tools.
I'm dealing with relatively current versions of Windows Server,
so we don't have to worry about that SmigDeploy stuff.
So instead,
we're just going to do a variant of Export and Import‑SmigServerSetting.
There's a number of feature IDs for the different features.
We're concerned with DHCP.
We also want to bring along our DHCP security permissions,
so we can specify user and group.
We want to include IP configuration.
We can do that,
and then we specify a path to where that IP configuration is located.
We then can unauthorize the source server here using good old NetShell,
which is decidedly not part of the Windows Server migration tools,
but it's one method if you don't want to use the graphical user interface to
remove the old server so that it's no longer authoritative.
Then on the destination server,
we would do an Import‑SmigServerSetting ‑Feature "DHCP",
and we would mimic the same stuff,
specifying the path to where your backup is and so on.
A more complex example where you want to do a more
detailed mapping between source address and MAC or
physical address on the network interface,
assuming that you really want the new server to take over the role
and essentially the identity of the source server,
I got this example from the online help for this command.
As a matter of fact, you might want to do, in fact, we'll do it right now.
Let me copy this string to my clipboard.
We can do a Get‑Command where PSSnapin is, and let me lay that in here.
There's just a small number of commands here,
Export, Get, Import, Receive, and Send.
So there's not too much going on there.
Okay, let's get started here.
Let's go to line 27.
Let me fix, I need to inject a space in there.
I do have a folder on my C drive called dhcp.
To protect those exported settings, we're going to apply a password,
and it will take a little while to enumerate and
package all of the DHCP database data, NTFS permissions,
user group, enumerations, leases, all of that good stuff.
Okay, great.
We then, like I said,
can decommission the DHCP server on the old machine with Network Shell.
We then can connect to the remote machine.
Hopefully, this won't break over a network connection.
We'll find out at any rate.
So lastly, we've got Import‑SmigServerSetting,
and then we're specifying a path to that DHCP folder where I'm going
over the network using the administrative share.
Didn't like that.
I think I know why,
and that's going to be we have to import the
Windows Server Migration Tools again.
So we're going to have to do on the remote box now import,
actually, it's not import, it's Add.
It's this line right here.
Let me come back, let me lay this in with my right mouse button.
So that will import those commands into our run space,
and then we can scroll down to line 32 and try it again.
Still didn't like it.
Well, this is some live troubleshooting, isn't it?
Alrighty then, let's head on over, as you can see, to mem1.timw.
And what I've done through the magic of video editing,
once again, I've got that benefit,
I copied over our DHCP backup folder from the old server,
and notice that the migration file is svrmig.mig.
And again, it's a binary format file.
And what I've done here, let me bring up my PowerShell,
is that, well actually, instead of the PowerShell,
I can show you in the terminal exactly what I did.
I discovered a bug along the way, as a matter of fact.
So on the destination server, I did a stop service DHCP server,
and then I did, as you can see here, let me highlight it,
Import‑SmigServerSetting ‑Featureid.
See, if you use feature, it bombs out.
That's the bug.
I'm going to submit that tomorrow, as a matter of fact, to the PowerShell docs.
So I'm quite confident that if you look in the PowerShell help for this command,
you will find that it's corrected, the examples are corrected.
So Featureid is DHCP.
Again,
there's user and group migration options that I left off, in
this case, because my deployment is completely stock, the
path to where the mig file is, and I added ‑Verbose and ‑force,
and that came back is Success True.
So now I can start the DHCP server service on this machine,
and let's open up the DHCP console and verify that mem1,
number one, it has the DHCP server service installed.
Let's go to Manage authorized servers.
Aha, looks like we've got to make sure to do that.
So let's click Authorize, mem1.timw.info.
Yes, this is the IP address.
So yes, we're authorizing that machine.
Good deal.
And then lastly, let's come in here and take a look.
There's our scope, and we'll look at our scope options,
so it's been brought over. So mission accomplished with that.