Server 2016 – A service installation section in this INF is invalid

After adding a PCI wireless card to a server and installing the manufacturer drivers it will not work and Device Manager reports Unknown device and the drivers are not installed with a “Service installation section in this INF is invalid” message.

Turns out the wireless features are not installed by default on Windows Servers now and once added back re-add the manufacturer drivers as normal to get working again.

Add-WindowsFeature -Name Wireless-Networking

Advertisements

Server 2016 AVMA License Keys

https://www.enhansoft.com/blog/avma-license-keys-for-windows-server-2016

Windows Server 2016

Windows Server 2016 Datacenter – TMJ3Y-NTRTM-FJYXT-T22BY-CWG3J

Windows Server 2016 Standard – C3RCX-M6NRP-6CXC9-TW2F2-4RHYD

Windows Server 2016 Essentials – B4YNW-62DX9-W8V6M-82649-MHBKQ

Windows 10

Windows 10 Enterprise – NPPR9-FWDCX-D2C8J-H872K-2YT43

Windows 10 Pro – VK7JG-NPHTM-C97JM-9MPGT-3V66T

Windows 10 Home – TX9XD-98N7V-6WMQ6-BX7FG-H8Q99

Windows 2012 R2

Windows Server 2012 R2 Datacenter – Y4TGP-NPTV9-HTC2H-7MGQ3-DV4TW

Windows Server 2012 R2 Standard – DBGBW-NPF86-BJVTX-K3WKJ-MTB6V

Windows Server 2012 R2 Essentials – K2XGM-NMBT3-2R6Q8-WF2FK-P36R2

Windows 8.1

Windows 8.1 Professional – GCRJD-8NW9H-F2CDX-CCM8D-9D6T9

Windows 8.1 Professional N – HMCNV-VVBFX-7HMBH-CTY9B-B4FXY

Windows 8.1 Enterprise – MHF9N-XY6XB-WVXMC-BTDCT-MKKG7

Windows 8.1 Enterprise N – TT4HM-HN7YT-62K67-RGRQJ-JFFXW

Exchange PowerShell Scripts for Migration

I am using the following scripts to extract Exchange info in readiness for migration to Office 365 as a lot of info does not get transferred.  This is only export as not had time to look at automating the import yet.

# Export User Mailboxes and Permissions
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Select-Object DisplayName,PrimarySmtpAddress, @{Name=”EmailAddresses”;Expression={$_.EmailAddresses | Where-Object {$_.PrefixString -cne “SMTP”} | ForEach-Object {$_.SmtpAddress}}} | Export-CSV -NoTypeInformation ex-UserMailbox.csv
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Get-MailboxPermission | Select-Object identity,user,@{Name=”AccessRights”;Expression={$_.”AccessRights”}},IsInherited | Where-Object {$_.User -notlike “NT AUTHORITY\SELF” -and $_.IsInherited -eq $false} | Export-CSV -NoTypeInformation ex-UserMailboxPermissions.csv

# Export Shared Mailboxes and Permissions
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails SharedMailbox | Select-Object DisplayName,PrimarySmtpAddress, @{Name=”EmailAddresses”;Expression={$_.EmailAddresses | Where-Object {$_.PrefixString -cne “SMTP”} | ForEach-Object {$_.SmtpAddress}}} | Export-CSV -NoTypeInformation ex-SharedMailbox.csv
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails SharedMailbox | Get-MailboxPermission | Select-Object identity,user,@{Name=”AccessRights”;Expression={$_.”AccessRights”}},IsInherited | Where-Object {$_.User -notlike “NT AUTHORITY\SELF” -and $_.IsInherited -eq $false} | Export-CSV -NoTypeInformation ex-SharedMailboxPermissions.csv

# Export Equipment Mailboxes and Permissions
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails EquipmentMailbox | Select-Object DisplayName,PrimarySmtpAddress, @{Name=”EmailAddresses”;Expression={$_.EmailAddresses | Where-Object {$_.PrefixString -cne “SMTP”} | ForEach-Object {$_.SmtpAddress}}} | Export-CSV -NoTypeInformation ex-EquipmentMailbox.csv
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails EquipmentMailbox | Get-MailboxPermission | Select-Object identity,user,@{Name=”AccessRights”;Expression={$_.”AccessRights”}},IsInherited | Where-Object {$_.User -notlike “NT AUTHORITY\SELF” -and $_.IsInherited -eq $false} | Export-CSV -NoTypeInformation ex-EquipmentMailboxPermissions.csv

# Export Room Mailbxes and Permissions
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails RoomMailbox | Select-Object DisplayName,PrimarySmtpAddress, @{Name=”EmailAddresses”;Expression={$_.EmailAddresses | Where-Object {$_.PrefixString -cne “SMTP”} | ForEach-Object {$_.SmtpAddress}}} | Export-CSV -NoTypeInformation ex-RoomMailbox.csv
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails RoomMailbox | Get-MailboxPermission | Select-Object identity,user,@{Name=”AccessRights”;Expression={$_.”AccessRights”}},IsInherited | Where-Object {$_.User -notlike “NT AUTHORITY\SELF” -and $_.IsInherited -eq $false} | Export-CSV -NoTypeInformation ex-RoomMailboxPermissions.csv

# Export Mail Contacts
Get-Mailcontact -ResultSize Unlimited | Select-Object DisplayName,PrimarySmtpAddress | Export-CSV -NoTypeInformation ex-Mailcontact.csv

# Export User Mailbox Calendar/Contacts/Tasks Permissions
$r = foreach ($m in (get-mailbox -resultsize unlimited)) {Get-MailboxFolderPermission ($m.samaccountname+”:\calendar”) | select @{Name=’Name’;Expression={$m.Name}}, FolderName,Identity,Accessrights;Get-MailboxFolderPermission ($m.samaccountname+”:\contacts”) | select @{Name=’Name’;Expression={$m.Name}}, FolderName,Identity,Accessrights;Get-MailboxFolderPermission ($m.samaccountname+”:\tasks”) | select @{Name=’Name’;Expression={$m.Name}}, FolderName,Identity,Accessrights;}
$r | where-object {$_.Identity -notlike “Anonymous” -and $_.Identity -notlike “Default”} | select @{Name=”Identity”;Expression={$_.Name+”:\”+$_.FolderName}},@{Name=”User”;Expression={$_.Identity}},@{Name=”AccessRights”;Expression={$_.AccessRights}} | Export-CSV -NoTypeInformation ex-UserMailboxFolderPermissions.csv

# Export User Mailbox Forwarders
Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails UserMailbox | Select-Object DisplayName,ForwardingAddress,ForwardingSmtpAddress,DeliverToMailboxAndForward | Where-Object {$_.ForwardingAddress -ne $null -or $_.ForwardingSMTPAddress -ne $null} | Export-CSV -NoTypeInformation ex-UserMailboxForwarders.csv

# Export User Mailboxes with Archives
Get-Mailbox -ResultSize Unlimited | where {$_.ArchiveDatabase -ne $null} | Select-Object name, archivedatabase | Export-CSV -NoTypeInformation ex-UserMailboxArchives.csv

# Export Distribution Lists and Members
Get-DistributionGroup -ResultSize Unlimited | Select-Object DisplayName,PrimarySmtpAddress, @{Name=”EmailAddresses”;Expression={$_.EmailAddresses | Where-Object {$_.PrefixString -cne “SMTP”} | ForEach-Object {$_.SmtpAddress}}},RequireSenderAuthenticationEnabled | Export-CSV -NoTypeInformation ex-DistributionLists.csv
foreach ($g in Get-DistributionGroup) { get-distributiongroupmember $g | ft @{expression={$_.displayname};Label=”$g” } | out-file -append ex-DistributionListsMembers}