Specific to the Windows Server 2019 ASDB image on the Hardware Lifecycle Host.
Windows Server 2019 ASDB SSU
KB5018507
Specific to the Windows Server 2019 ASDB image on the Hardware Lifecycle Host.
OS9 switch firmware (S3048, S4048, S5048)
9.14.2.20
OS9 switch firmware code is in the Dell Customer Toolkit.
OS10 switch firmware (S5248, N3248)
10.5.5.3
OS10 switch firmware code is in the Dell Customer Toolkit.
OEM extension package
2.3.2306.1
Included in the Dell Customer Toolkit and contains the driver and firmware update payload.
Firmware Update Module in OEM Extension Package
2.2.2204.1
N/A
Updated OEM Package components
Server Type
Platform
OS Type
Component
Type
Category
Dell P/N
Previous SWB
Target SWB
Previous Version
Target Version
Scale Units (PowerEdge R840 AS Dense)
R840
N/A
BIOS
Firmware DUP
BIOS
N/A
PC6KF
PF39N
2.17.1
2.18.1
Hardware Lifecycle Host/HLH (PowerEdge R640)
R640
N/A
BIOS
Firmware DUP
BIOS
N/A
NVD2K
YM8R4
2.17.1
2.18.1
Scale Units (PowerEdge R640 AS All Flash)
R640
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R740xd)
R740xd
Hardware Lifecycle Host/HLH (PowerEdge R640)
R640
N/A
iDRAC with Lifecycle controller
Firmware DUP
iDRAC with Lifecycle Controller
N/A
V676X
Y0CWW
6.10.30.10
6.10.80.00
Scale Units (PowerEdge R640 AS All Flash)
R640
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R740xd)
R740xd
Scale Units (PowerEdge R840 AS Dense)
R840
Scale Units (PowerEdge R640 AS All Flash)
R640
N/A
INTEL S4520 RR M.2 SSD SSDSC2KB480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
GX439
PN1T8
J3GJ8
DL70
DL74
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R740xd)
R740xd
Scale Units (PowerEdge R840 AS Dense)
R840
N/A
INTEL S4520 RR M.2 SSD SSDSC2KB480GZR (Boot)
Firmware DUP
Storage - 960GB SATA SSD
F6H8H
PN1T8
J3GJ8
DL70
DL74
Scale Units (PowerEdge R840 AS Dense)
R840
N/A
INTEL S4520 RR M.2 SSD SSDSC2KB960GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
GX439
PN1T8
J3GJ8
DL70
DL74
Scale Units (PowerEdge R640 AS All Flash)
R640
N/A
INTEL S4520 RR M.2 SSD SSDSC2KB960GZR (Boot)
Firmware DUP
Storage - 960GB SATA SSD
F6H8H
PN1T8
J3GJ8
DL70
DL74
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R740xd)
R740xd
Scale Units (PowerEdge R640 AS All Flash)
R640
N/A
INTEL S4520 RR M.2 SSD SSDSCKKB480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
M7F5D
PN1T8
J3GJ8
DL70
DL74
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R740xd)
R740xd
Scale Units (PowerEdge R840 AS Dense)
R840
Scale Units (PowerEdge R640 AS All Flash)
R640
N/A
INTEL S4620 RR M.2 SSD SSDSC2KG480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
00DJ5
PN1T8
J3GJ8
DL70
DL74
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R740xd)
R740xd
Scale Units (PowerEdge R840 AS Dense)
R840
Scale Units (PowerEdge R640 AS All Flash)
R640
N/A
INTEL S4620 RR M.2 SSD SSDSC2KG960GZR (Boot)
Firmware DUP
Storage - 960GB SATA SSD
8MHYH
PN1T8
J3GJ8
DL70
DL74
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R740xd)
R740xd
Scale Units (PowerEdge R840 AS Dense)
R840
Hardware Lifecycle Host/HLH (PowerEdge R640)
R640
N/A
KIOXIA KPM6WRUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD (Boot)
7F2D1
376CY
G42W2
BD0D
BD48
Scale Units (PowerEdge R640 AS All Flash)
R640
N/A
KIOXIA KPM6WRUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
FH1W9
376CY
G42W2
BD0D
BD48
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R840 AS Dense)
R840
Scale Units (PowerEdge R740xd)
R740xd
N/A
KIOXIA KPM6WRUG960G
Firmware DUP
Storage - 960GB SAS SSD
R9RTY
376CY
G42W2
BD0D
BD48
Scale Units (PowerEdge R640 AS All Flash)
R640
N/A
KIOXIA KPM6WVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
1081V
376CY
G42W2
BD0D
BD48
Scale Units (PowerEdge R640 AS All Flash)
R640
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R640 Tactical)
R640
Hardware Lifecycle Host/HLH (PowerEdge R640)
R640
N/A
KIOXIA KPM6WVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD (Boot)
DHWH5
376CY
G42W2
BD0D
BD48
Hardware Lifecycle Host/HLH (PowerEdge R640)
R640
Scale Units (PowerEdge R640 AS All Flash)
R640
N/A
KIOXIA KPM6WVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
81H9C
376CY
G42W2
BD0D
BD48
Scale Units (PowerEdge R640 AS All Flash)
R640
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R840 AS Dense)
R840
Scale Units (PowerEdge R840 AS Dense)
R840
Scale Units (PowerEdge R740xd)
R740xd
N/A
KIOXIA KPM6WVUG960G
Firmware DUP
Storage - 960GB SAS SSD
J92FY
376CY
G42W2
BD0D
BD48
Scale Units (PowerEdge R740xd)
R740xd
Scale Units (PowerEdge R640 AS All Flash)
R640
WS2022
Mellanox ConnectX-4 LX / 25GbE
Driver DUP
Network / RDMA
N/A
JX4HG
Y31G3
03.00.01
03.20.02
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R740xd)
R740xd
Scale Units (PowerEdge R840 AS Dense)
R840
Scale Units (PowerEdge R640 AS All Flash)
R640
WS2019
Mellanox ConnectX-4 LX / 25GbE
Driver DUP
Network / RDMA
N/A
JX4HG
Y31G3
03.00.01
03.20.02
Scale Units (PowerEdge R640 Tactical)
R640
Scale Units (PowerEdge R740xd)
R740xd
Scale Units (PowerEdge R840 AS Dense)
R840
Scale Units (PowerEdge R740xd)
R740xd
N/A
SEAGATE ST8000NM024B
Firmware DUP
Storage - 8TB SAS HDD
C5HD0
DTGXD
24J9V
LS0A
LS0C
N/A
14G
N/A
S3048-ON
Switch Firmware
BMC
N/A
T9HGC
9GWDW
9.14.2.18
9.14.2.20
N/A
14G
N/A
S4048-ON
Switch Firmware
TOR
N/A
FX0G8
1NWP3
9.14.2.18
9.14.2.20
N/A
14G
N/A
S5048F-ON
Switch Firmware
TOR
N/A
CYRMP
FK3NJ
9.14.2.18
9.14.2.20
N/A
14G
N/A
S5248F-ON
Switch Firmware
TOR
N/A
K7FT4
H9HK2
10.5.4.7
10.5.5.3
N/A
14G
N/A
N3248TE-ON
Switch Firmware
BMC
N/A
K7FT4
H9HK2
10.5.4.7
10.5.5.3
2 - Release Notes
2.1 - Release Notes for 2407
2.1.1 - Release Notes for 14G - 2407
Dell Integrated System for Microsoft Azure Stack Hub Release Notes
Current Release Version: Dell 2407 and Microsoft 2406
Release Type: Major (MA)
NOTE
Dell Azure Stack Hub OEM updates must be installed in sequential order, it is not supported to skip or miss-out an OEM update version. These release notes contain supplemental information for the Dell 2407 release and the Microsoft 2406 release.
New features, changed features, and fixes
New features
There are improvements and updates to drivers and firmware.
Secure Connect Gateway (SCG) will be uninstalled from existing deployments.
Changed features
There are no changed features for this release.
Fixes
There are no fixes for this release.
Known issues and limitations
This release notes document describes known issues and limitations for the Dell Integrated System for Microsoft Azure Stack Hub solution based on the Dell 2407 release and Microsoft 2406 release.
Item
Description
OEM update
Dell Technologies recommends updating to the n-1 version before applying the latest OEM package.
Microsoft Azure Stack Hub code
For information about known issues and limitations in the Microsoft Azure Stack Hub code, see the Azure Stack Hub 2406 update on the Microsoft website
Notes and warnings
CAUTION
Before you use the Microsoft Patch and Update process to update Azure Stack Hub, close any active session to the ERCS virtual machines. If an active session is open, the update may fail, and must be resumed.
Microsoft fixed issues
For information about fixed issues in this release, see the Azure Stack Hub 2406 update on the Microsoft website.
The Dell Azure Stack Hub Tech Book contains information regarding dimensions for Dell Technologies racks, servers, and switches.
This information is updated as needed.
Software Versions
Component
Version
Notes
Microsoft Azure Stack Hub Baseline (for bare-metal deployment)
Firmware and driver versions of each individual component can be found in the Dell Integrated System for Microsoft Azure Stack Hub Support Matrix.
Fixes, enhancements, and other information about each firmware and driver can be found on the Dell Support site.
2.1.2 - Release Notes for 16G - 2407
Dell Integrated System for Microsoft Azure Stack Hub Release Notes
Current Release Version: Dell 2407 and Microsoft 2406
Release Type: Major (MA)
NOTE
Dell Azure Stack Hub OEM updates must be installed in sequential order, it is not supported to skip or miss-out an OEM update version. These release notes contain supplemental information for the Dell 2407 release and the Microsoft 2406 release.
New features, changed features, and fixes
New features
There are improvements and updates to drivers and firmware.
Changed features
There are no changed features for this release.
Fixes
There are no fixes for this release.
Known issues and limitations
This release notes document describes known issues and limitations for the Dell Integrated System for Microsoft Azure Stack Hub solution based on the Dell 2407 release and Microsoft 2406 release.
Item
Description
OEM update
Dell Technologies recommends updating to the n-1 version before applying the latest OEM package.
Microsoft Azure Stack Hub code
For information about known issues and limitations in the Microsoft Azure Stack Hub code, see the Azure Stack Hub 2406 update on the Microsoft website
Notes and warnings
CAUTION
Before you use the Microsoft Patch and Update process to update Azure Stack Hub, close any active session to the ERCS virtual machines. If an active session is open, the update may fail, and must be resumed.
Microsoft fixed issues
For information about fixed issues in this release, see the Azure Stack Hub 2406 update on the Microsoft website.
The Dell Azure Stack Hub Tech Book contains information regarding dimensions for Dell Technologies racks, servers, and switches.
This information is updated as needed.
Software Versions
Component
Version
Notes
Microsoft Azure Stack Hub Baseline (for bare-metal deployment)
Firmware and driver versions of each individual component can be found in the Dell Integrated System for Microsoft Azure Stack Hub Support Matrix.
Fixes, enhancements, and other information about each firmware and driver can be found on the Dell Support site.
2.2 - Release Notes for 2404
2.2.1 - Release Notes for 14G - 2404
Dell Integrated System for Microsoft Azure Stack Hub Release Notes
Current Release Version: Dell 2404 and Microsoft 2311
Release Type: Major (MA)
NOTE
Dell Azure Stack Hub OEM updates must be installed in sequential order, it is not supported to skip or miss-out an OEM update version. These release notes contain supplemental information for the Dell 2404 release and the Microsoft 2311 release.
New features, changed features, and fixes
New features
There are improvements and updates to drivers and firmware.
Changed features
In this release, we included Windows Server 2022 image for both Management Virtual Machine (MGMT-VM) and the Hardware Lifecycle Host (HLH).
To take advantage of the new features and enhancements in Windows Server 2022, you must redeploy the HLH using the Operating System Deployment (OSD) workflow in the Dell Patch and Update tool.
This release notes document describes known issues and limitations for the Dell Integrated System for Microsoft Azure Stack Hub solution based on the Dell 2404 release and Microsoft 2311 release.
Item
Description
OEM update
Dell Technologies recommends updating to the n-1 version before applying the latest OEM package.
Microsoft Azure Stack Hub code
For information about known issues and limitations in the Microsoft Azure Stack Hub code, see the Azure Stack Hub 2311 update on the Microsoft website.
Secure Connect Gateway 5.18
SNMP v3 alerts are not received within Secure Connect Gateway version 5.18, see the Knowledge Base Article.
Patch and Update (PnU) Operating System Deployment (OSD)
Hardware Lifecycle Host (HLH) may end up in a BitLocker Recovery state during Operating System Deployment (OSD) workflow via the Patch and Update Tool when updating to Server 2022, see the Knowledge Base Article.
Notes and warnings
CAUTION
Before you use the Microsoft Patch and Update process to update Azure Stack Hub, close any active session to the ERCS virtual machines. If an active session is open, the update may fail and must be resumed.
Microsoft fixed issues
For information about fixed issues in this release, see the Azure Stack Hub 2311 update on the Microsoft website.
The Dell Azure Stack Hub Tech Book contains information regarding dimensions for Dell Technologies racks, servers, and switches.
This information is updated as needed.
Software Versions
Component
Version
Notes
Microsoft Azure Stack Hub Baseline (for bare-metal deployment)
Firmware and driver versions of each individual component can be found in the Dell Integrated System for Microsoft Azure Stack Hub Support Matrix.
Fixes, enhancements, and other information about each firmware and driver can be found on the Dell Support site.
2.3 - Release Notes for 2401
2.3.1 - Release Notes for 14G - 2401
Dell Integrated System for Microsoft Azure Stack Hub Release Notes
Current Release Version: Dell 2401 and Microsoft 2306
Release Type: Major (MA)
NOTE
Dell Azure Stack Hub OEM updates must be installed in sequential order, it is not supported to skip or miss-out an OEM update version. These release notes contain supplemental information for the Dell 2401 release and the Microsoft 2306 release.
New features, changed features, and fixes
New features
There are improvements and updates to drivers and firmware.
Changed features
There are no changed features for this release.
Fixes
There are no fixes for this release.
Known issues and limitations
This release notes document describes known issues and limitations for the Dell Integrated System for Microsoft Azure Stack Hub solution based on the Dell 2401 release and Microsoft 2306 release.
Item
Description
OEM update
Dell Technologies recommends updating to the n-1 version before applying the latest OEM package.
Microsoft Azure Stack Hub code
For information about known issues and limitations in the Microsoft Azure Stack Hub code, see the Azure Stack Hub 2306 update on the Microsoft website
Secure Connect Gateway 5.18
SNMP v3 alerts are not received within Secure Connect Gateway version 5.18, see the Knowledge Base Article
Notes and warnings
CAUTION
Before you use the Microsoft Patch and Update process to update Azure Stack Hub, close any active session to the ERCS virtual machines. If an active session is open, the update may fail, and must be resumed.
Microsoft fixed issues
For information about fixed issues in this release, see the Azure Stack Hub 2306 update on the Microsoft website.
The Dell Azure Stack Hub Tech Book contains information regarding dimensions for Dell Technologies racks, servers, and switches.
This information is updated as needed.
Software Versions
Component
Version
Notes
Microsoft Azure Stack Hub Baseline (for bare-metal deployment)
Firmware and driver versions of each individual component can be found in the Dell Integrated System for Microsoft Azure Stack Hub Support Matrix.
Fixes, enhancements, and other information about each firmware and driver can be found on the Dell Support site.
2.4 - Release Notes for 2309
Dell Integrated System for Microsoft Azure Stack Hub Release Notes
Current Release Version: Dell 2309 and Microsoft 2306
Release Type: Major (MA)
NOTE
Dell Azure Stack Hub OEM updates must be installed in sequential order, it is not supported to skip or miss-out an OEM update version. These release notes contain supplemental information for the Dell 2309 release and the Microsoft 2306 release.
New features, changed features, and fixes
New features
Improvements and updates to Secure Connect Gateway (SCG), drivers, and firmware.
Dell Patch and Update support for Windows Server 2022 and Windows 11.
Changed features
There are no changed features for this release.
Fixes
Fixed an issue with the Dell Patch and Update process where the switch backup task could fail with the error message:
“The term ‘Write-InfoLog’ is not recognized as the name of a cmdlet, function, script file, or operable program”
Known issues and limitations
This release notes document describes known issues and limitations for the Dell Integrated System for Microsoft Azure Stack Hub solution based on the Dell 2309 release and Microsoft 2306 release.
Item
Description
OEM update
Dell Technologies recommends updating to the n-1 version before applying the latest OEM package.
Microsoft Azure Stack Hub code
For information about known issues and limitations in the Microsoft Azure Stack Hub code, see the Azure Stack Hub 2306 update on the Microsoft website
Notes and warnings
CAUTION
Before you use the Microsoft Patch and Update process to update Azure Stack Hub, close any active session to the ERCS virtual machines. If an active session is open, the update may fail, and must be resumed.
Microsoft fixed issues
For information about fixed issues in this release, see the Azure Stack Hub 2306 update on the Microsoft website.
The Dell Azure Stack Hub Tech Book contains information regarding dimensions for Dell Technologies racks, servers, and switches.
This information is updated as needed.
Software Versions
Component
Version
Notes
Microsoft Azure Stack Hub Baseline (for bare-metal deployment)
Firmware and driver versions of each individual component can be found in the Dell Integrated System for Microsoft Azure Stack Hub Support Matrix.
Fixes, enhancements, and other information about each firmware and driver can be found on the Dell Support site.
2.5 - Release Notes for 2306
Dell Integrated System for Microsoft Azure Stack Hub Release Notes
Current Release Version: Dell 2306 and Microsoft 2301
Release Type: Major (MA)
NOTE
Dell Azure Stack Hub OEM updates must be installed in sequential order, it is not supported to skip or miss-out an OEM update version. These release notes contain supplemental information for the Dell 2306 release and the Microsoft 2301 release.
New features, changed features, and fixes
New features
There are improvements and updates to drivers and firmware.
Fixed an issue with the Dell Patch and Update Tool for Azure Stack Hub which could fail during the Switch Firmware Update step with error ‘Error executing SSH command’.
For more information, please see the following KB article Azure Stack Hub - Patch and Update 2303 and newer may fail switch firmware update with ‘Error executing SSH command’ on the Dell Technologies Support website. Note: This article can only be accessed if you are a Dell Azure Stack Hub customer.
Known issues and limitations
This release notes document describes known issues and limitations for the Dell Integrated System for Microsoft Azure Stack Hub solution based on the Dell 2306 release and Microsoft 2301 release.
Item
Description
OEM update
Dell Technologies recommends updating to the n-1 version before applying the latest OEM package.
Microsoft Azure Stack Hub code
For information about known issues and limitations in the Microsoft Azure Stack Hub code, see the Azure Stack Hub 2301 update on the Microsoft website
Notes and warnings
CAUTION
Before you use the Microsoft Patch and Update process to update Azure Stack Hub, close any active session to the ERCS virtual machines. If an active session is open, the update may fail, and must be resumed.
Microsoft fixed issues
For information about fixed issues in this release, see the Azure Stack Hub 2301 update on the Microsoft website.
The Concepts Guide contains information regarding dimensions for Dell Technologies racks, servers, and switches.
This information is updated as needed.
Software Versions
Component
Version
Notes
Microsoft Azure Stack Hub Baseline (for bare-metal deployment)
Firmware and driver versions of each individual component can be found in the Dell Integrated System for Microsoft Azure Stack Hub Support Matrix.
Fixes, enhancements, and other information about each firmware and driver can be found on the Dell Support site.
3 - Support Matrix
3.1 - Support Matrix for 2407
3.1.1 - Support Matrix for 14G - 2407
Dell Integrated System for Microsoft Azure Stack Hub - Valid from Dell 2407 release and Microsoft 2406 release
Abstract
This support matrix provides information about supported software and hardware configurations for Dell Integrated System for Microsoft Azure Stack Hub.
Introduction
The Dell Integrated System for Microsoft Azure Stack Hub Support Matrix describes supported drivers, firmware, applications, and hardware for Dell Integrated System for Microsoft Azure Stack Hub.
NOTE
All references to release dates refer to Dell Technologies releases, unless otherwise indicated.
Dell Integrated System for Microsoft Azure Stack Hub - Valid from Dell 2407 release and Microsoft 2406 release
Abstract
This support matrix provides information about supported software and hardware configurations for Dell Integrated System for Microsoft Azure Stack Hub.
Introduction
The Dell Integrated System for Microsoft Azure Stack Hub Support Matrix describes supported drivers, firmware, applications, and hardware for Dell Integrated System for Microsoft Azure Stack Hub.
NOTE
All references to release dates refer to Dell Technologies releases, unless otherwise indicated.
Dell Integrated Systems for Microsoft Azure Stack Hub OEM extension package with drivers and firmware updates
AzSHub_16G_Dell2407.13_OEMPackage.zip
2407.13
Dell Integrated Systems for Microsoft Azure Stack Hub HLH ISO
MS2406_Dell2407.26.iso
2407.26
3.2 - Support Matrix for 2404
3.2.1 - Support Matrix for 14G - 2404
Dell Integrated System for Microsoft Azure Stack Hub - Valid from Dell 2404 release and Microsoft 2311 release
Abstract
This support matrix provides information about supported software and hardware configurations for Dell Integrated System for Microsoft Azure Stack Hub.
Introduction
The Dell Integrated System for Microsoft Azure Stack Hub Support Matrix describes supported drivers, firmware, applications, and hardware for Dell Integrated System for Microsoft Azure Stack Hub.
NOTE
All references to release dates refer to Dell Technologies releases, unless otherwise indicated.
Dell Integrated System for Microsoft Azure Stack Hub - Valid from Dell 2401 release and Microsoft 2306 release
Abstract
This support matrix provides information about supported software and hardware configurations for Dell Integrated System for Microsoft Azure Stack Hub.
Introduction
The Dell Integrated System for Microsoft Azure Stack Hub Support Matrix describes supported drivers, firmware, applications, and hardware for Dell Integrated System for Microsoft Azure Stack Hub.
NOTE
All references to release dates refer to Dell Technologies releases, unless otherwise indicated.
Dell Integrated System for Microsoft Azure Stack Hub - Valid from Dell 2309 release and Microsoft 2306 release
Abstract
This support matrix provides information about supported software and hardware configurations for Dell Integrated System for Microsoft Azure Stack Hub.
Introduction
The Dell Integrated System for Microsoft Azure Stack Hub Support Matrix describes supported drivers, firmware, applications, and hardware for Dell Integrated System for Microsoft Azure Stack Hub.
NOTE
All references to release dates refer to Dell Technologies releases, unless otherwise indicated.
Dell Integrated System for Microsoft Azure Stack Hub - Valid from Dell 2306 release and Microsoft 2301 release
Abstract
This support matrix provides information about supported software and hardware configurations for Dell Integrated System for Microsoft Azure Stack Hub.
Introduction
The Dell Integrated System for Microsoft Azure Stack Hub Support Matrix describes supported drivers, firmware, applications, and hardware for Dell Integrated System for Microsoft Azure Stack Hub.
NOTE
All references to release dates refer to Dell Technologies releases, unless otherwise indicated.
14G Scale Units - PowerEdge R740xd
Component
Type
Category
Dell Part Number (P/N)
Software Bundle (SWB)
Supported Version
INTEL C600/C610/C220/C230/C2000 Series
Driver DUP
Chipset
N/A
3DTYV
10.1.18807.8279
Mellanox ConnectX-4 LX / 25GbE
Driver DUP
Network / RDMA
N/A
Y31G3
03.20.02
Dell HBA330
Driver DUP
Storage - HBA
N/A
MF8G0
2.51.25.02
BIOS
Firmware DUP
BIOS
N/A
YM8R4
2.18.1
BOSS-S1 Firmware
Firmware DUP
BOSS-S1
N/A
3P39V
2.5.13.3024
CPLD
Firmware DUP
CPLD
N/A
G65GH
1.1.4
iDRAC with Lifecycle Controller
Firmware DUP
iDRAC with Lifecycle Controller
N/A
Y0CWW
6.10.80.00
Mellanox ConnectX-4 LX / 25GbE
Firmware DUP
Network/RDMA
N/A
PY7FC
14.32.20.04
Dell SEP Non-expander Storage Backplane
Firmware DUP
Non-expander Storage Backplane
N/A
VV85D
4.35
KIOXIA KPM6XVUG1T60
Firmware DUP
Storage - 1.6TB SAS SSD
GD3N0
6K5N9
BA0D
KIOXIA KPM7XVUG1T60
Firmware DUP
Storage - 1.6TB SAS SSD
4TRHM
69KVR
C106
SAMSUNG MZILG1T6HCJRAD9
Firmware DUP
Storage - 1.6TB SAS SSD
TK47C
G0NG4
DZG0
TOSHIBA PX05SMB160Y
Firmware DUP
Storage - 1.6TB SAS SSD
GVTYD
1DJXX
AS10
KIOXIA KPM5XVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
2WVYG
4P9DW
B026
KIOXIA KPM6XRUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
4CN85
6K5N9
BA0D
KIOXIA KPM7WRUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
VGMCD
2H3MY
C406
KIOXIA KPM7XRUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
6K35K
25VW9
C106
KIOXIA KRM6VVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
N15JP
3P4FR
BJ02
SAMSUNG MZILG1T9HCJRAD9
Firmware DUP
Storage - 1.92TB SAS SSD
MFCD7
PFJ21
TBD
SEAGATE XS1920LE70134
Firmware DUP
Storage - 1.92TB SAS SSD
N6DRV
G04C8
4S0C
SEAGATE XS1920LE70154
Firmware DUP
Storage - 1.92TB SAS SSD
91DPV
84K2D
4D0B
TOSHIBA KPM5XVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
2WVYG
4P9DW
B026
TOSHIBA PX05SVB192Y
Firmware DUP
Storage - 1.92TB SAS SSD
V0K7V
1DJXX
AS10
KIOXIA KRM7VRUG1T92
Firmware DUP
Storage - 1.92TB vSAS SSD
86XW7
MRG3F
CA06
SEAGATE XS1920LE70095
Firmware DUP
Storage - 1.92TB vSAS SSD
K805Y
2PY92
CPE6
HGST HUH721010AL4200
Firmware DUP
Storage - 10TB SAS HDD
YG2KH
MGW91
LS21
HGST HUH721010AL5200
Firmware DUP
Storage - 10TB SAS HDD
07FPR
MGW91
LS21
SEAGATE ST10000NM0256
Firmware DUP
Storage - 10TB SAS HDD
YF87J
CD2WP
TT56
SEAGATE ST10000NM0598
Firmware DUP
Storage - 10TB SAS HDD
HV5CH
VTX9C
RSL5
TOSHIBA MG06SCA10TEY
Firmware DUP
Storage - 10TB SAS HDD
14YYC
4G5GY
EH0D
TOSHIBA MG07SCA12TEY
Firmware DUP
Storage - 12TB SAS HDD
DK7C9
7DTJD
EI0D
HGST HUH721212AL5200
Firmware DUP
Storage - 12TB SAS HDD
9HXK6
4RR8F
NS10
SEAGATE ST12000NM006J
Firmware DUP
Storage - 12TB SAS HDD
M1C0T
4JCT7
PSL9
SEAGATE ST12000NM009G
Firmware DUP
Storage - 12TB SAS HDD
7KT9W
31MF1
ESL3
SEAGATE ST12000NM0158
Firmware DUP
Storage - 12TB SAS HDD
YMN53
VTX9C
RSL5
TOSHIBA MG09SCA12TEY
Firmware DUP
Storage - 12TB SAS HDD
0N96X
XWG1Y
EM04
INTEL D3-S45100 RI M.2 SSD SSDSCKKB480G8R (Boot)
Firmware DUP
Storage - 480GB SATA SSD
7FXC3
Y1P10
DL6R
INTEL S3520 RI M.2 SSD SSDSCKJB480G7R (Boot)
Firmware DUP
Storage - 480GB SATA SSD
WCP9P
CHJGV
DL43
INTEL S4520 RR M.2 SSD SSDSC2KB480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
GX439
J3GJ8
DL74
INTEL S4520 RR M.2 SSD SSDSCKKB480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
M7F5D
J3GJ8
DL74
INTEL S4620 RR M.2 SSD SSDSC2KG480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
00DJ5
J3GJ8
DL74
MICRON 5100 Pro M.2 SSD MTFDDAV480TCB (Boot)
Firmware DUP
Storage - 480GB SATA SSD
GPGC0
YM8KY
E013
MICRON 5300 Pro M.2 SSD MTFDDAV480TDS (Boot)
Firmware DUP
Storage - 480GB SATA SSD
7RKD7
PWVX5
J004
MICRON 5400 Pro M.2 SSD MTFDDAV480TGA-1BC1ZABDA (Boot)
Firmware DUP
Storage - 480GB SATA SSD
VN68H
C2Y7D
K002
HGST HUS726040ALS210
Firmware DUP
Storage - 4TB SAS HDD
X4FKY
68X4C
KU45
HGST HUS726T4TALS200
Firmware DUP
Storage - 4TB SAS HDD
NT1X2
1DM5F
PU07
TOSHIBA MG04SCA40ENY
Firmware DUP
Storage - 4TB SAS HDD
1MVTT
RG9MK
EG03
SEAGATE ST4000NM017A
Firmware DUP
Storage - 4TB SAS HDD
KRM6X
4RM7F
DL67
SEAGATE ST4000NM019B
Firmware DUP
Storage - 4TB SAS HDD
10N7R
6X24T
LW08
SEAGATE ST4000NM0295
Firmware DUP
Storage - 4TB SAS HDD
W5M2R
XKD4M
DT34
SEAGATE ST6000NM035A
Firmware DUP
Storage - 6TB SAS HDD
CVTK9
61CR4
CSL7
TOSHIBA MG05ACA600E
Firmware DUP
Storage - 6TB SAS HDD
81Y15
5H8JW
GX6D
TOSHIBA MG06SCA600EY
Firmware DUP
Storage - 6TB SAS HDD
XXPPV
4G5GY
EH0D
KIOXIA KPM6XMUG800G
Firmware DUP
Storage - 800GB SAS SSD
H6GCD
6K5N9
BA0D
KIOXIA KPM7XVUG800G
Firmware DUP
Storage - 800GB SAS SSD
X96H8
T7WXC
C10A
WESTERN DIGITAL WUSTM3280BSS200
Firmware DUP
Storage - 800GB SAS SSD
F99F6
X95FJ
G130
TOSHIBA PX05SMB080Y
Firmware DUP
Storage - 800GB SAS SSD
CN3JH
1DJXX
AS10
SEAGATE ST8000NM0185
Firmware DUP
Storage - 8TB SAS HDD
M40TH
6421F
PT55
TOSHIBA MG08SDA800EY
Firmware DUP
Storage - 8TB SAS HDD
NJWMG
1RCYJ
EL01
HGST HUH721008AL4200
Firmware DUP
Storage - 8TB SAS HDD
CDDMJ
MGW91
LS21
HGST HUH721008AL5200
Firmware DUP
Storage - 8TB SAS HDD
KRDKK
MGW91
LS21
HGST HUS728T8TAL5200
Firmware DUP
Storage - 8TB SAS HDD
44YFV
6JJPV
RS07
SEAGATE ST8000NM014A
Firmware DUP
Storage - 8TB SAS HDD
0N660
61CR4
CSL7
SEAGATE ST8000NM015A
Firmware DUP
Storage - 8TB SAS HDD
K6646
RP50F
CSNC
SEAGATE ST8000NM0195
Firmware DUP
Storage - 8TB SAS HDD
DKGYV
WKRV9
PT74
SEAGATE ST8000NM0195
Firmware DUP
Storage - 8TB SAS HDD
KNYW0
N2X70
PT71
SEAGATE ST8000NM024B
Firmware DUP
Storage - 8TB SAS HDD
C5HD0
24J9V
LS0C
TOSHIBA MG06SCA800EY
Firmware DUP
Storage - 8TB SAS HDD
FV725
4G5GY
EH0D
KIOXIA KPM6WVUG960G
Firmware DUP
Storage - 960GB SAS SSD
J92FY
G42W2
BD48
KIOXIA KPM6WVUG960G
Firmware DUP
Storage - 960GB SAS SSD
WMWKG
G42W2
BD48
KIOXIA KPM7WRUG960G
Firmware DUP
Storage - 960GB SAS SSD
T1RHN
TXDJ9
C40A
KIOXIA KPM7XRUG960G
Firmware DUP
Storage - 960GB SAS SSD
KRVY1
25VW9
C106
SAMSUNG MZILG960HCHQAD9
Firmware DUP
Storage - 960GB SAS SSD
RX1JG
PFJ21
TBD
KIOXIA KPM5XVUG960G
Firmware DUP
Storage - 960GB SAS SSD
WFGTH
4P9DW
B026
KIOXIA KPM6WRUG960G
Firmware DUP
Storage - 960GB SAS SSD
R9RTY
G42W2
BD48
SEAGATE KRM6VVUG960G
Firmware DUP
Storage - 960GB SAS SSD
42XXC
3P4FR
BJ02
SEAGATE XS960LE70134
Firmware DUP
Storage - 960GB SAS SSD
2RDWT
G04C8
4S0C
SEAGATE XS960LE70154
Firmware DUP
Storage - 960GB SAS SSD
38R6V
84K2D
4D0B
TOSHIBA KPM5XVUG960G
Firmware DUP
Storage - 960GB SAS SSD
WFGTH
4P9DW
B026
TOSHIBA PX05SVB096Y
Firmware DUP
Storage - 960GB SAS SSD
503M7
1DJXX
AS10
INTEL S4520 RR M.2 SSD SSDSC2KB960GZR (Boot)
Firmware DUP
Storage - 960GB SATA SSD
F6H8H
J3GJ8
DL74
INTEL S4620 RR M.2 SSD SSDSC2KG960GZR (Boot)
Firmware DUP
Storage - 960GB SATA SSD
8MHYH
J3GJ8
DL74
MICRON 5400 Pro M.2 SSD MTFDDAV960TGA-1BC1ZABDA (Boot)
Firmware DUP
Storage - 960GB SATA SSD
KHRN0
C2Y7D
K002
KIOXIA KRM7VRUG960G
Firmware DUP
Storage - 960GB vSAS SSD
6RNXC
MRG3F
CA06
SEAGATE XS960LE70095
Firmware DUP
Storage - 960GB vSAS SSD
2M1NG
2PY92
CPE6
Expander Storage Backplane
Firmware DUP
Storage - Backplane
N/A
60K1J
2.52
Dell HBA330
Firmware DUP
Storage - HBA
N/A
124X2
16.17.01.00
uEFI diag
Tools-Software
Dell 64 Bit uEFI Diagnostics
N/A
Y5CF5
4301A38
14G Scale Units - PowerEdge R640 All Flash
Component
Type
Category
Dell Part Number (P/N)
Software Bundle (SWB)
Supported Version
INTEL C600/C610/C220/C230/C2000 Series
Driver DUP
Chipset
N/A
3DTYV
10.1.18807.8279
Mellanox ConnectX-4 LX / 25GbE
Driver DUP
Network / RDMA
N/A
Y31G3
03.20.02
Dell HBA330
Driver DUP
Storage - HBA
N/A
MF8G0
2.51.25.02
BIOS
Firmware DUP
BIOS
N/A
YM8R4
2.18.1
BOSS-S1 Firmware
Firmware DUP
BOSS-S1
N/A
3P39V
2.5.13.3024
CPLD
Firmware DUP
CPLD
N/A
9N4DH
1.0.6
iDRAC with Lifecycle Controller
Firmware DUP
iDRAC with Lifecycle Controller
N/A
Y0CWW
6.10.80.00
Mellanox ConnectX-4 LX / 25GbE
Firmware DUP
Network/RDMA
N/A
PY7FC
14.32.20.04
Dell SEP Non-expander Storage Backplane
Firmware DUP
Non-expander Storage Backplane
N/A
VV85D
4.35
KIOXIA KPM5XVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
2WVYG
4P9DW
B026
KIOXIA KPM6WVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
1081V
G42W2
BD48
KIOXIA KPM6WVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
DHWH5
G42W2
BD48
KIOXIA KPM7WRUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
VGMCD
2H3MY
C406
KIOXIA KPM7XRUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
6K35K
25VW9
C106
KIOXIA KRM6VVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
N15JP
3P4FR
BJ02
SAMSUNG MZILG1T9HCJRAD9
Firmware DUP
Storage - 1.92TB SAS SSD
MFCD7
PFJ21
TBD
SEAGATE XS1920LE70134
Firmware DUP
Storage - 1.92TB SAS SSD
N6DRV
G04C8
4S0C
SEAGATE XS1920LE70154
Firmware DUP
Storage - 1.92TB SAS SSD
91DPV
84K2D
4D0B
TOSHIBA KPM5XVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
2WVYG
4P9DW
B026
TOSHIBA PX05SVB192Y
Firmware DUP
Storage - 1.92TB SAS SSD
V0K7V
1DJXX
AS10
KIOXIA KRM7VRUG1T92
Firmware DUP
Storage - 1.92TB vSAS SSD
86XW7
MRG3F
CA06
SEAGATE XS1920LE70095
Firmware DUP
Storage - 1.92TB vSAS SSD
K805Y
2PY92
CPE6
KIOXIA KPM6XVUG3T20
Firmware DUP
Storage - 3.2TB SAS SSD
NKM7P
6K5N9
BA0D
KIOXIA KPM7WVUG3T20
Firmware DUP
Storage - 3.2TB SAS SSD
RGP9J
FKXKC
C406
KIOXIA KPM7XVUG3T20
Firmware DUP
Storage - 3.2TB SAS SSD
V0X40
69KVR
C106
SAMSUNG MZILG3T2HCLSAD9
Firmware DUP
Storage - 3.2TB SAS SSD
5DVPV
G0NG4
DZG0
KIOXIA KPM5XVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
91W3V
4P9DW
B026
KIOXIA KPM6WRUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
FH1W9
G42W2
BD48
KIOXIA KPM6WVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
MD4YN
G42W2
BD48
KIOXIA KPM6WVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
81H9C
G42W2
BD48
KIOXIA KPM7WRUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
YTVTF
TXDJ9
C40A
KIOXIA KPM7XRUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
MT0R5
T7WXC
C10A
KIOXIA KRM6VVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
FXYGR
3P4FR
BJ02
SAMSUNG MZILG3T8HCLSAD9
Firmware DUP
Storage - 3.84TB SAS SSD
H62RF
PFJ21
TBD
SEAGATE XS3840LE70134
Firmware DUP
Storage - 3.84TB SAS SSD
YM9HP
G04C8
4S0C
SEAGATE XS3840LE70154
Firmware DUP
Storage - 3.84TB SAS SSD
NWGX3
84K2D
4D0B
TOSHIBA KPM5XVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
91W3V
4P9DW
B026
TOSHIBA PX05SVB384Y
Firmware DUP
Storage - 3.84TB SAS SSD
3DDFT
1DJXX
AS10
KIOXIA KRM7VRUG3T84
Firmware DUP
Storage - 3.84TB vSAS SSD
VJNDD
MRG3F
CA06
SEAGATE XS3840LE70095
Firmware DUP
Storage - 3.84TB vSAS SSD
FT95M
2PY92
CPE6
SEAGATE XS3840LE70115
Firmware DUP
Storage - 3.84TB vSAS SSD
DHK7V
XTC9D
TBD
INTEL S3520 RI M.2 SSD SSDSCKJB480G7R (Boot)
Firmware DUP
Storage - 480GB SATA SSD
WCP9P
CHJGV
DL43
INTEL S4510 RI M.2 SSD SSDSCKKB480G8R (Boot)
Firmware DUP
Storage - 480GB SATA SSD
7FXC3
Y1P10
DL6R
INTEL S4520 RR M.2 SSD SSDSC2KB480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
GX439
J3GJ8
DL74
INTEL S4520 RR M.2 SSD SSDSCKKB480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
M7F5D
J3GJ8
DL74
INTEL S4620 RR M.2 SSD SSDSC2KG480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
00DJ5
J3GJ8
DL74
MICRON 5100 Pro M.2 SSD MTFDDAV480TCB (Boot)
Firmware DUP
Storage - 480GB SATA SSD
GPGC0
YM8KY
E013
MICRON 5300 Pro M.2 SSD MTFDDAV480TDS (Boot)
Firmware DUP
Storage - 480GB SATA SSD
7RKD7
PWVX5
J004
MICRON 5400 Pro M.2 SSD MTFDDAV480TGA-1BC1ZABDA (Boot)
Firmware DUP
Storage - 480GB SATA SSD
VN68H
C2Y7D
K002
INTEL S4520 RR M.2 SSD SSDSC2KB960GZR (Boot)
Firmware DUP
Storage - 960GB SATA SSD
F6H8H
J3GJ8
DL74
INTEL S4620 RR M.2 SSD SSDSC2KG960GZR (Boot)
Firmware DUP
Storage - 960GB SATA SSD
8MHYH
J3GJ8
DL74
MICRON 5400 Pro M.2 SSD MTFDDAV960TGA-1BC1ZABDA (Boot)
Firmware DUP
Storage - 960GB SATA SSD
KHRN0
C2Y7D
K002
Expander Storage Backplane
Firmware DUP
Storage - Backplane
N/A
60K1J
2.52
Dell HBA330
Firmware DUP
Storage - HBA
N/A
124X2
16.17.01.00
uEFI diag
Tools-Software
Dell 64 Bit uEFI Diagnostics
N/A
Y5CF5
4301A38
14G Scale Units - PowerEdge R640 Tactical
Component
Type
Category
Dell Part Number (P/N)
Software Bundle (SWB)
Supported Version
INTEL C600/C610/C220/C230/C2000 Series
Driver DUP
Chipset
N/A
3DTYV
10.1.18807.8279
Mellanox ConnectX-4 LX / 25GbE
Driver DUP
Network / RDMA
N/A
Y31G3
03.20.02
Dell HBA330
Driver DUP
Storage - HBA
N/A
MF8G0
2.51.25.02
BIOS
Firmware DUP
BIOS
N/A
YM8R4
2.18.1
BOSS-S1 Firmware
Firmware DUP
BOSS-S1
N/A
3P39V
2.5.13.3024
CPLD
Firmware DUP
CPLD
N/A
9N4DH
1.0.6
iDRAC with Lifecycle Controller
Firmware DUP
iDRAC with Lifecycle Controller
N/A
Y0CWW
6.10.80.00
Mellanox ConnectX-4 LX / 25GbE
Firmware DUP
Network/RDMA
N/A
PY7FC
14.32.20.04
Dell SEP Non-expander Storage Backplane
Firmware DUP
Non-expander Storage Backplane
N/A
VV85D
4.35
KIOXIA KPM5XVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
2WVYG
4P9DW
B026
KIOXIA KPM6WVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
1081V
G42W2
BD48
KIOXIA KPM6WVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
DHWH5
G42W2
BD48
KIOXIA KPM7WRUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
VGMCD
2H3MY
C406
KIOXIA KPM7XRUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
6K35K
25VW9
C106
KIOXIA KRM6VVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
N15JP
3P4FR
BJ02
SAMSUNG MZILG1T9HCJRAD9
Firmware DUP
Storage - 1.92TB SAS SSD
MFCD7
PFJ21
TBD
SEAGATE XS1920LE70134
Firmware DUP
Storage - 1.92TB SAS SSD
N6DRV
G04C8
4S0C
SEAGATE XS1920LE70154
Firmware DUP
Storage - 1.92TB SAS SSD
91DPV
84K2D
4D0B
TOSHIBA KPM5XVUG1T92
Firmware DUP
Storage - 1.92TB SAS SSD
2WVYG
4P9DW
B026
TOSHIBA PX05SVB192Y
Firmware DUP
Storage - 1.92TB SAS SSD
V0K7V
1DJXX
AS10
KIOXIA KRM7VRUG1T92
Firmware DUP
Storage - 1.92TB vSAS SSD
86XW7
MRG3F
CA06
SEAGATE XS1920LE70095
Firmware DUP
Storage - 1.92TB vSAS SSD
K805Y
2PY92
CPE6
KIOXIA KPM7WVUG3T20
Firmware DUP
Storage - 3.2TB SAS SSD
RGP9J
FKXKC
C406
KIOXIA KPM7XVUG3T20
Firmware DUP
Storage - 3.2TB SAS SSD
V0X40
69KVR
C106
SAMSUNG MZILG3T2HCLSAD9
Firmware DUP
Storage - 3.2TB SAS SSD
5DVPV
G0NG4
DZG0
KIOXIA KPM5XVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
91W3V
4P9DW
B026
KIOXIA KPM6WRUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
FH1W9
G42W2
BD48
KIOXIA KPM6WVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
81H9C
G42W2
BD48
KIOXIA KPM6WVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
MD4YN
G42W2
BD48
KIOXIA KPM7WRUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
YTVTF
TXDJ9
C40A
KIOXIA KPM7XRUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
MT0R5
T7WXC
C10A
KIOXIA KRM6VVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
FXYGR
3P4FR
BJ02
SAMSUNG MZILG3T8HCLSAD9
Firmware DUP
Storage - 3.84TB SAS SSD
H62RF
PFJ21
TBD
SEAGATE XS3840LE70154
Firmware DUP
Storage - 3.84TB SAS SSD
NWGX3
84K2D
4D0B
SEAGATE XS3840LE70134
Firmware DUP
Storage - 3.84TB SAS SSD
YM9HP
G04C8
4S0C
TOSHIBA KPM5XVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
91W3V
4P9DW
B026
TOSHIBA PX05SVB384Y
Firmware DUP
Storage - 3.84TB SAS SSD
3DDFT
1DJXX
AS10
KIOXIA KRM7VRUG3T84
Firmware DUP
Storage - 3.84TB vSAS SSD
VJNDD
MRG3F
CA06
SEAGATE XS3840LE70095
Firmware DUP
Storage - 3.84TB vSAS SSD
FT95M
2PY92
CPE6
SEAGATE XS3840LE70115
Firmware DUP
Storage - 3.84TB vSAS SSD
DHK7V
XTC9D
TBD
INTEL S3520 RI M.2 SSD SSDSCKJB480G7R (Boot)
Firmware DUP
Storage - 480GB SATA SSD
WCP9P
CHJGV
DL43
INTEL S4510 RI M.2 SSD SSDSCKKB480G8R (Boot)
Firmware DUP
Storage - 480GB SATA SSD
7FXC3
Y1P10
DL6R
INTEL S4520 RR M.2 SSD SSDSC2KB480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
GX439
J3GJ8
DL74
INTEL S4520 RR M.2 SSD SSDSCKKB480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
M7F5D
J3GJ8
DL74
INTEL S4620 RR M.2 SSD SSDSC2KG480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
00DJ5
J3GJ8
DL74
MICRON 5100 Pro M.2 SSD MTFDDAV480TCB (Boot)
Firmware DUP
Storage - 480GB SATA SSD
GPGC0
YM8KY
E013
MICRON 5300 Pro M.2 SSD MTFDDAV480TDS (Boot)
Firmware DUP
Storage - 480GB SATA SSD
7RKD7
PWVX5
J004
MICRON 5400 Pro M.2 SSD MTFDDAV480TGA-1BC1ZABDA (Boot)
Firmware DUP
Storage - 480GB SATA SSD
VN68H
C2Y7D
K002
INTEL S4520 RR M.2 SSD SSDSC2KB960GZR (Boot)
Firmware DUP
Storage - 960GB SATA SSD
F6H8H
J3GJ8
DL74
INTEL S4620 RR M.2 SSD SSDSC2KG960GZR (Boot)
Firmware DUP
Storage - 960GB SATA SSD
8MHYH
J3GJ8
DL74
MICRON 5400 Pro M.2 SSD MTFDDAV960TGA-1BC1ZABDA (Boot)
Firmware DUP
Storage - 960GB SATA SSD
KHRN0
C2Y7D
K002
Expander Storage Backplane
Firmware DUP
Storage - Backplane
N/A
60K1J
2.52
Dell HBA330
Firmware DUP
Storage - HBA
N/A
124X2
16.17.01.00
uEFI diag
Tools-Software
Dell 64 Bit uEFI Diagnostics
N/A
Y5CF5
4301A38
14G Scale Units - PowerEdge R840 Dense
Component
Type
Category
Dell Part Number (P/N)
Software Bundle (SWB)
Supported Version
INTEL Lewisburg C62x Series Chipset Drivers
Driver DUP
Chipset
N/A
3DTYV
10.1.18807.8279
Mellanox ConnectX-4 LX / 25GbE
Driver DUP
Network / RDMA
N/A
Y31G3
03.20.02
Dell HBA330
Driver DUP
Storage - HBA
N/A
MF8G0
2.51.25.02
BIOS
Firmware DUP
BIOS
N/A
PF39N
2.18.1
BOSS-S1 Firmware
Firmware DUP
BOSS-S1
N/A
3P39V
2.5.13.3024
CPLD
Firmware DUP
CPLD
N/A
67GJY
1.0.6
iDRAC with Lifecycle Controller
Firmware DUP
iDRAC with Lifecycle Controller
N/A
Y0CWW
6.10.80.00
Mellanox ConnectX-4 LX / 25GbE
Firmware DUP
Network/RDMA
N/A
PY7FC
14.32.20.04
Dell SEP Non-expander Storage Backplane
Firmware DUP
Non-expander Storage Backplane
N/A
VV85D
4.35
KIOXIA KPM6XVUG3T20
Firmware DUP
Storage - 3.2TB SAS SSD
NKM7P
6K5N9
BA0D
KIOXIA KPM7WVUG3T20
Firmware DUP
Storage - 3.2TB SAS SSD
RGP9J
FKXKC
C406
KIOXIA KPM7XVUG3T20
Firmware DUP
Storage - 3.2TB SAS SSD
V0X40
69KVR
C106
SAMSUNG MZILG3T2HCLSAD9
Firmware DUP
Storage - 3.2TB SAS SSD
5DVPV
G0NG4
DZG0
KIOXIA KPM5XVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
91W3V
4P9DW
B026
KIOXIA KPM6WRUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
FH1W9
G42W2
BD48
KIOXIA KPM6WVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
MD4YN
G42W2
BD48
KIOXIA KPM6WVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
81H9C
G42W2
BD48
KIOXIA KPM7WRUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
YTVTF
TXDJ9
C40A
KIOXIA KPM7XRUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
MT0R5
T7WXC
C10A
KIOXIA KRM6VVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
FXYGR
3P4FR
BJ02
SAMSUNG MZILG3T8HCLSAD9
Firmware DUP
Storage - 3.84TB SAS SSD
H62RF
PFJ21
TBD
SEAGATE XS3840LE70134
Firmware DUP
Storage - 3.84TB SAS SSD
YM9HP
G04C8
4S0C
SEAGATE XS3840LE70154
Firmware DUP
Storage - 3.84TB SAS SSD
NWGX3
84K2D
4D0B
TOSHIBA KPM5XVUG3T84
Firmware DUP
Storage - 3.84TB SAS SSD
91W3V
4P9DW
B026
TOSHIBA PX05SVB384Y
Firmware DUP
Storage - 3.84TB SAS SSD
3DDFT
1DJXX
AS10
KIOXIA KRM7VRUG3T84
Firmware DUP
Storage - 3.84TB vSAS SSD
VJNDD
MRG3F
CA06
SEAGATE XS3840LE70095
Firmware DUP
Storage - 3.84TB vSAS SSD
FT95M
2PY92
CPE6
SEAGATE XS3840LE70115
Firmware DUP
Storage - 3.84TB vSAS SSD
DHK7V
XTC9D
TBD
INTEL S3520 RI M.2 SSD SSDSCKJB480G7R (Boot)
Firmware DUP
Storage - 480GB SATA SSD
WCP9P
CHJGV
DL43
INTEL S4510 RI M.2 SSD SSDSCKKB480G8R (Boot)
Firmware DUP
Storage - 480GB SATA SSD
7FXC3
Y1P10
DL6R
INTEL S4520 RR M.2 SSD SSDSC2KB960GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
GX439
J3GJ8
DL74
INTEL S4520 RR M.2 SSD SSDSCKKB480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
M7F5D
J3GJ8
DL74
INTEL S4620 RR M.2 SSD SSDSC2KG480GZR (Boot)
Firmware DUP
Storage - 480GB SATA SSD
00DJ5
J3GJ8
DL74
MICRON 5100 Pro M.2 SSD MTFDDAV480TCB (Boot)
Firmware DUP
Storage - 480GB SATA SSD
GPGC0
YM8KY
E013
MICRON 5300 Pro M.2 SSD MTFDDAV480TDS (Boot)
Firmware DUP
Storage - 480GB SATA SSD
7RKD7
PWVX5
J004
MICRON 5400 Pro M.2 SSD MTFDDAV480TGA-1BC1ZABDA (Boot)
Firmware DUP
Storage - 480GB SATA SSD
VN68H
C2Y7D
K002
INTEL S4520 RR M.2 SSD SSDSC2KB480GZR (Boot)
Firmware DUP
Storage - 960GB SATA SSD
F6H8H
J3GJ8
DL74
INTEL S4620 RR M.2 SSD SSDSC2KG960GZR (Boot)
Firmware DUP
Storage - 960GB SATA SSD
8MHYH
J3GJ8
DL74
MICRON 5400 Pro M.2 SSD MTFDDAV960TGA-1BC1ZABDA (Boot)
4.1 - How to create a service principal name for Azure Stack Hub integrated with Active Directory Federation Services identity using PowerShell
Overview
This article explains how to create a service principal name (SPN) to manage Azure Stack Hub integrated with Active Directory Federation Services (AD FS) identity using PowerShell.
Overview of the creation process for Azure Stack Hub SPN
NOTE
The procedure provided is designed for Azure Stack Hub Operators as it requires Privileged Endpoint (PEP) access as well as assumes the Default Provider Subscription and the Administrator Azure Resource Manager endpoint as the defaults; however, the same mechanism can be applied to the User Subscriptions with minimal changes to the code.
If you want to assign a role the SPN for a User Subscription, replace the Administrator Azure Resource Manager endpoint with the Tenant Azure Resource Manager endpoint and the Default Provider Subscription with Subscription Name you want to modify.
Declare your variables accordingly.
Log in to your Azure Stack Hub Default Provider Subscription with administrator user credentials (needs to have the Owner role).
CAUTION
This requires interactive prompt as by default when using AD FS as your identity provider you cannot use user credentials in the non-interactive way.
This is the main reason why you would want to create an SPN so that you can automate your operations.
Create your AD FS application/service principal.
Assign the appropriate Role to your service principal.
NOTE
As a bonus, we include an example of how to assign the Owner role to an AD FS group
The current AzureStack modules do not support it natively, but this example will show you how to do it via API.
It is the preferred method of assigning roles, you should assign roles to a group rather than individual users.
Log in to your Azure Stack Hub Default Provider Subscription using the SPN account.
Verify SPN authentication and the role assignment.
Create Azure Stack Hub SPN
Create a PFX Certificate
#region Declare variables
$CertificateName = "ADFSAutomationCert"
$CertStore = "cert:\LocalMachine\My" # This can also be "cert:\CurrentUser\My" but in general service accounts cannot access CurrentUser cert store
$CertSubject = "CN=$CertificateName"
$PfxFilePath = "C:\Temp"
if (-not (Test-Path -Path $PfxFilePath)) {
New-Item -ItemType Directory -Path $PfxFilePath -Force | Out-Null
}
$PfxFilePathFull = Join-Path -Path $PfxFilePath -ChildPath "$($CertificateName).pfx"
$PfxPassword = '""' | ConvertTo-SecureString -AsPlainText -Force # replace "" with an actual password or leave "" for it to be blank
#endregion
#region Create certificate to pass into new Application
$ExpiryDate = (Get-Date).AddDays(365) # You can change this to whatever fits your security profile better, default is 1 year
$Cert = New-SelfSignedCertificate -CertStoreLocation $CertStore -Subject $CertSubject -KeySpec KeyExchange -NotAfter $ExpiryDate
Write-Verbose -Message "Certificate ""$($Cert.Subject)"" with start date ""$($Cert.NotBefore)"" and end date ""$($Cert.NotAfter)"" created at ""$($PfxFilePathFull)""."
#endregion
#region Get a cert object from a .pfx file - you need it to create the SPN to begin with
$Cert = Get-PfxCertificate -FilePath $PfxFilePathFull -Password $PfxPassword
#endregion
#region Optional steps
#region Export the certificate so that you can import it on other environments
try {
Export-PfxCertificate -Cert $Cert.PsPath -FilePath $PfxFilePathFull -Password $PfxPassword -ErrorAction Stop | Out-Null
} catch {
throw "Failed to export certificate to ""$($PfxFilePathFull)"":`n$($_.Exception.Message)"
}
#endregion
#region Import the certificate into the certificate store on another environment
Import-PfxCertificate -CertStoreLocation $CertStore -FilePath $PfxFilePathFull -Password $PfxPassword -Exportable
#endregion
#endregion
Create Azure Stack Hub SPN that uses certificate credential
#region Declare variables
$CertificateName = "ADFSAutomationCert"
$PfxFilePath = "C:\Temp"
$PfxFilePathFull = Join-Path -Path $PfxFilePath -ChildPath "$($CertificateName).pfx"
$PfxPassword = '""' | ConvertTo-SecureString -AsPlainText -Force
$CertificateObject = Get-PfxCertificate -FilePath $PfxFilePathFull -Password $PfxPassword
$CertificateThumbprint = $CertificateObject.Thumbprint
if (!$CertificateThumbprint) {
throw "Failed to obtain a thumbprint from certificate: $($PfxFilePathFull)"
}
$CloudAdminUsername = "CloudAdmin@azurestack.local"
[SecureString]$CloudAdminPassword = ConvertTo-SecureString "Password123!" -AsPlainText -Force
$ApplicationName = "ADFSAppCert"
$AzureStackRole = "Owner"
$ADGroupName = "AzureStackHubOwners"
$AzureStackAdminArmEndpoint = "https://adminmanagement.local.azurestack.external/"
$EnvironmentName = "AzureStackAdmin"
$PepCreds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $CloudAdminUsername, $CloudAdminPassword
$PepIPAddress = "x.x.x.224" # e.g. 10.5.30.224
#endregion
#region Register and set an Az environment that targets your Azure Stack Hub instance
Write-Output -InputObject "Connecting to Azure Stack Hub Admin Management Endpoint - $(AzureStackAdminArmEndpoint)"
$null = Add-AzEnvironment -Name $EnvironmentName -ARMEndpoint $AzureStackAdminArmEndpoint
$null = Connect-AzAccount -Environment $EnvironmentName -UseDeviceAuthentication # Interactive prompt
if (((Get-AzContext).Subscription).Name -notlike "Default Provider Subscription") {
throw "Failed to obtain access to the 'Default Provider Subscription'. Please verify the user has been assigned the '$($AzureStackRole)' role for the 'Default Provider Subscription'."
}
#endregion
#region Create a PSSession to the Privileged Endpoint VM
Write-Output -InputObject "Create a PowerShell Session to the Privileged Endpoint VM"
$PepSession = New-PSSession -ComputerName $PepIPAddress -ConfigurationName PrivilegedEndpoint -Credential $PepCreds -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
#endregion
#region Check for existing SPN
Write-Output -InputObject "Check for existing SPN '$($ApplicationName)'"
$SPNObjectCheckJob = Invoke-Command -Session $PepSession -ScriptBlock { Get-GraphApplication } -AsJob | Wait-Job
if ($SPNObjectCheckJob.State -ne "Completed") {
throw "$($SPNObjectCheckJob.ChildJobs | Receive-Job)"
}
$SPNObjectCheck = $SPNObjectCheckJob.ChildJobs.Output | Where-Object { $_.Name -like "Azurestack-$ApplicationName*" } | Select-Object -Last 1
#endregion
#region Create new SPN if one does not exist
if ($SPNObjectCheck) {
Write-Output -InputObject "SPN details`n$($ApplicationName): $($SPNObjectCheck | Out-String)"
} else {
Write-Output -InputObject "No existing SPN found"
Write-Output -InputObject "Create new SPN '$($ApplicationName)'"
$SPNObjectJob = Invoke-Command -Session $PepSession -ScriptBlock { New-GraphApplication -Name $using:ApplicationName -ClientCertificates $using:CertificateObject } -AsJob | Wait-Job
if ($SPNObjectJob.State -ne "Completed") {
throw "$($SPNObjectJob.ChildJobs | Receive-Job)"
}
$SPNObject = $SPNObjectJob.ChildJobs.Output
Write-Output -InputObject "SPN details`n$($ApplicationName): $($SPNObject | Out-String)"
$FullApplicationName = $SPNObject.ApplicationName
#endregion
}
#region Assign SPN the 'Owner' role for the 'Default Provider Subscription'
Write-Output -InputObject "Assign SPN '$($ApplicationName)' the '$($AzureStackRole)' role for the 'Default Provider Subscription'"
if ($FullApplicationName) {
$SPNADFSApp = Get-AzADServicePrincipal | Where-Object { $_.DisplayName -like "$($FullApplicationName)" }
} else {
$SPNADFSApp = Get-AzADServicePrincipal | Where-Object { $_.DisplayName -like "*$($ApplicationName)*" } | Select-Object -Last 1
}
$SPNRoleAssignmentCheck = Get-AzRoleAssignment -ObjectId $SPNADFSApp.AdfsId
if (!($SPNRoleAssignmentCheck) -or ($SPNRoleAssignmentCheck.RoleDefinitionName -ne $AzureStackRole)) {
$null = New-AzRoleAssignment -RoleDefinitionName $AzureStackRole -ServicePrincipalName $SPNADFSApp.ApplicationId.Guid
#region Verify SPN has been assigned the 'Owner' role for the 'Default Provider Subscription'
$SPNRoleAssignment = Get-AzRoleAssignment -ObjectId $SPNADFSApp.AdfsId
if (!($SPNRoleAssignment) -or ($SPNRoleAssignment.RoleDefinitionName -ne $AzureStackRole)) {
throw "Failed to assign SPN '$($ApplicationName)' the '$($AzureStackRole)' role for the Default Provider Subscription"
}
#endregion
}
#endregion
#region Assign AD group 'AzureStackOwners' the 'Owner' role for the 'Default Provider Subscription'
Write-Output -InputObject "Assign AD group '$($ADGroupName)' the '$($AzureStackRole)' role for the 'Default Provider Subscription'"
$ADGroup = Get-AzADGroup -DisplayNameStartsWith $ADGroupName
$SubId = (Get-AzSubscription -SubscriptionName "Default Provider Subscription").Id
$OwnerRoleId = (Get-AzRoleDefinition -Name $AzureStackRole).Id
$APIPayloadHash = @{
"properties" = @{
"roleDefinitionId" = "/subscriptions/$($SubId)/providers/Microsoft.Authorization/roleDefinitions/$($OwnerRoleId)"
"principalId" = "$($ADGroup.AdfsId)"
}
} | ConvertTo-Json -Depth 50
$APIPath = "/subscriptions/$($SubId)/providers/Microsoft.Authorization/roleAssignments/$($OwnerRoleId)?api-version=2015-07-01"
$APIResponse = Invoke-AzRestMethod -Path $APIPath -Method "PUT" -Payload $APIPayloadHash
if ($APIResponse.StatusCode -ne "201") {
throw "Failed to create role assignment for ""$($ADGroup.DisplayName)"" in subscription ""$($SubId)"" with role ""$($AzureStackRole)"" and role ID ""$($OwnerRoleId)"""
}
#endregion
#region Verify AD group 'AzureStackOwners' has been assigned the 'Owner' role for the 'Default Provider Subscription'
$ADGroupRoleAssignment = Get-AzRoleAssignment -ObjectId $ADGroup.AdfsId
if (!($ADGroupRoleAssignment) -or ($ADGroupRoleAssignment.RoleDefinitionName -ne $AzureStackRole)) {
throw "Failed to assign AD group '$($ADGroupName)' the '$($AzureStackRole)' role for the 'Default Provider Subscription'"
}
#endregion
#region Obtain authentication information
# GUID of the directory tenant
$TenantId = (Get-AzContext).Tenant.Id
Write-Output -InputObject "TenantId: $($TenantId)"
Write-Output -InputObject ""
Write-Output -InputObject "ApplicationName: $($SPNADFSApp.DisplayName)"
Write-Output -InputObject ""
Write-Output -InputObject "ApplicationId: $($SPNADFSApp.ApplicationId.Guid)"
Write-Output -InputObject ""
Write-Output -InputObject "CertificateThumbprint: $($CertificateThumbprint)"
Write-Output -InputObject ""
Write-Output -InputObject "Admin ARM Endpoint: $($AzureStackAdminArmEndpoint)"
#endregion
#region Verify if SPN can authenticate to Azure Stack Hub Admin Management Endpoint
Write-Output -InputObject "Verify if SPN can authenticate to Azure Stack Hub Admin Management Endpoint"
$null = Clear-AzContext -Force
$null = Connect-AzAccount -Environment $EnvironmentName -ServicePrincipal -Tenant $TenantId -ApplicationId $SPNADFSApp.ApplicationId.Guid -CertificateThumbprint $CertificateThumbprint
if (((Get-AzContext).Subscription).Name -notlike "Default Provider Subscription") {
throw "Failed to obtain access to the 'Default Provider Subscription'. Please verify the SPN has been assigned the '$($AzureStackRole)' role for the 'Default Provider Subscription'."
} else {
Write-Output -InputObject "Your SPN can successfully authenticate with ARM Endpoint $($AzureStackAdminArmEndpoint) and has got access to the 'Default Provider Subscription'"
}
#endregion
#region Remove sessions
if ($PepSession) {
Write-Output -InputObject "Removing PSSSession to the Privileged Endpoint"
Remove-PSSession -Session $PepSession
}
$CheckContext = Get-AzContext | Where-Object { $_.Environment -like $EnvironmentName }
if ($CheckContext) {
Write-Output -InputObject "Disconnecting from AzS Hub Admin Management Endpoint: $($CheckContext.Environment.ResourceManagerUrl)"
$null = Disconnect-AzAccount
}
#endregion
CAUTION
Using a client secret is less secure than using an X509 certificate credential. Not only is the authentication mechanism less secure, but it also typically requires embedding the secret in the client app source code. As such, for production apps, you’re strongly encouraged to use a certificate credential.
#region Declare variables
$CloudAdminUsername = "CloudAdmin@azurestack.local"
[SecureString]$CloudAdminPassword = ConvertTo-SecureString "Password123!" -AsPlainText -Force
$ApplicationName = "ADFSAppCert"
$AzureStackRole = "Owner"
$ADGroupName = "AzureStackHubOwners"
$AzureStackAdminArmEndpoint = "https://adminmanagement.local.azurestack.external/"
$EnvironmentName = "AzureStackAdmin"
$PepCreds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $CloudAdminUsername, $CloudAdminPassword
$PepIPAddress = "x.x.x.224" # e.g. 10.5.30.224
#endregion
#region Register and set an Az environment that targets your Azure Stack Hub instance
Write-Output -InputObject "Connecting to Azure Stack Hub Admin Management Endpoint - $(AzureStackAdminArmEndpoint)"
$null = Add-AzEnvironment -Name $EnvironmentName -ARMEndpoint $AzureStackAdminArmEndpoint
$null = Connect-AzAccount -Environment $EnvironmentName -UseDeviceAuthentication # Interactive prompt
if (((Get-AzContext).Subscription).Name -notlike "Default Provider Subscription") {
throw "Failed to obtain access to the 'Default Provider Subscription'. Please verify the user has been assigned the '$($AzureStackRole)' role for the 'Default Provider Subscription'."
}
#endregion
#region Create a PSSession to the Privileged Endpoint VM
Write-Output -InputObject "Create a PowerShell Session to the Privileged Endpoint VM"
$PepSession = New-PSSession -ComputerName $PepIPAddress -ConfigurationName PrivilegedEndpoint -Credential $PepCreds -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
#endregion
#region Check for existing SPN
Write-Output -InputObject "Check for existing SPN '$($ApplicationName)'"
$SPNObjectCheckJob = Invoke-Command -Session $PepSession -ScriptBlock { Get-GraphApplication } -AsJob | Wait-Job
if ($SPNObjectCheckJob.State -ne "Completed") {
throw "$($SPNObjectCheckJob.ChildJobs | Receive-Job)"
}
$SPNObjectCheck = $SPNObjectCheckJob.ChildJobs.Output | Where-Object { $_.Name -like "Azurestack-$ApplicationName*" } | Select-Object -Last 1
#endregion
#region Create new SPN if one does not exist
if ($SPNObjectCheck) {
Write-Output -InputObject "SPN details`n$($ApplicationName): $($SPNObjectCheck | Out-String)"
} else {
Write-Output -InputObject "No existing SPN found"
Write-Output -InputObject "Create new SPN '$($ApplicationName)'"
$SPNObjectJob = Invoke-Command -Session $PepSession -ScriptBlock { New-GraphApplication -Name $using:ApplicationName -GenerateClientSecret } -AsJob | Wait-Job
if ($SPNObjectJob.State -ne "Completed") {
throw "$($SPNObjectJob.ChildJobs | Receive-Job)"
}
$SPNObject = $SPNObjectJob.ChildJobs.Output
Write-Output -InputObject "SPN details`n$($ApplicationName): $($SPNObject | Out-String)"
$FullApplicationName = $SPNObject.ApplicationName
$SPNClientId = $SPNObject.ClientId
$SPNClientSecret = $SPNObject.ClientSecret | ConvertTo-SecureString -AsPlainText -Force
$SPNCreds = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $SPNClientId, $SPNClientSecret
#endregion
}
#region Assign SPN the 'Owner' role for the 'Default Provider Subscription'
Write-Output -InputObject "Assign SPN '$($ApplicationName)' the '$($AzureStackRole)' role for the 'Default Provider Subscription'"
if ($FullApplicationName) {
$SPNADFSApp = Get-AzADServicePrincipal | Where-Object { $_.DisplayName -like "$($FullApplicationName)" }
} else {
$SPNADFSApp = Get-AzADServicePrincipal | Where-Object { $_.DisplayName -like "*$($ApplicationName)*" } | Select-Object -Last 1
}
$SPNRoleAssignmentCheck = Get-AzRoleAssignment -ObjectId $SPNADFSApp.AdfsId
if (!($SPNRoleAssignmentCheck) -or ($SPNRoleAssignmentCheck.RoleDefinitionName -ne $AzureStackRole)) {
$null = New-AzRoleAssignment -RoleDefinitionName $AzureStackRole -ServicePrincipalName $SPNADFSApp.ApplicationId.Guid
#region Verify SPN has been assigned the 'Owner' role for the 'Default Provider Subscription'
$SPNRoleAssignment = Get-AzRoleAssignment -ObjectId $SPNADFSApp.AdfsId
if (!($SPNRoleAssignment) -or ($SPNRoleAssignment.RoleDefinitionName -ne $AzureStackRole)) {
throw "Failed to assign SPN '$($ApplicationName)' the '$($AzureStackRole)' role for the Default Provider Subscription"
}
#endregion
}
#endregion
#region Assign AD group 'AzureStackOwners' the 'Owner' role for the 'Default Provider Subscription'
Write-Output -InputObject "Assign AD group '$($ADGroupName)' the '$($AzureStackRole)' role for the 'Default Provider Subscription'"
$ADGroup = Get-AzADGroup -DisplayNameStartsWith $ADGroupName
$SubId = (Get-AzSubscription -SubscriptionName "Default Provider Subscription").Id
$OwnerRoleId = (Get-AzRoleDefinition -Name $AzureStackRole).Id
$APIPayloadHash = @{
"properties" = @{
"roleDefinitionId" = "/subscriptions/$($SubId)/providers/Microsoft.Authorization/roleDefinitions/$($OwnerRoleId)"
"principalId" = "$($ADGroup.AdfsId)"
}
} | ConvertTo-Json -Depth 50
$APIPath = "/subscriptions/$($SubId)/providers/Microsoft.Authorization/roleAssignments/$($OwnerRoleId)?api-version=2015-07-01"
$APIResponse = Invoke-AzRestMethod -Path $APIPath -Method "PUT" -Payload $APIPayloadHash
if ($APIResponse.StatusCode -ne "201") {
throw "Failed to create role assignment for ""$($ADGroup.DisplayName)"" in subscription ""$($SubId)"" with role ""$($AzureStackRole)"" and role ID ""$($OwnerRoleId)"""
}
#endregion
#region Verify AD group 'AzureStackOwners' has been assigned the 'Owner' role for the 'Default Provider Subscription'
$ADGroupRoleAssignment = Get-AzRoleAssignment -ObjectId $ADGroup.AdfsId
if (!($ADGroupRoleAssignment) -or ($ADGroupRoleAssignment.RoleDefinitionName -ne $AzureStackRole)) {
throw "Failed to assign AD group '$($ADGroupName)' the '$($AzureStackRole)' role for the 'Default Provider Subscription'"
}
#endregion
#region Obtain authentication information
# GUID of the directory tenant
$TenantId = (Get-AzContext).Tenant.Id
Write-Output -InputObject "TenantId: $($TenantId)"
Write-Output -InputObject ""
Write-Output -InputObject "ApplicationName: $($SPNADFSApp.DisplayName)"
Write-Output -InputObject ""
Write-Output -InputObject "ApplicationId: $($SPNADFSApp.ApplicationId.Guid)"
Write-Output -InputObject ""
Write-Output -InputObject "ClientSecret: $($SPNObject.ClientSecret)"
Write-Output -InputObject ""
Write-Output -InputObject "Admin ARM Endpoint: $($AzureStackAdminArmEndpoint)"
#endregion
#region Verify if SPN can authenticate to Azure Stack Hub Admin Management Endpoint
Write-Output -InputObject "Verify if SPN can authenticate to Azure Stack Hub Admin Management Endpoint"
$null = Clear-AzContext -Force
$null = Connect-AzAccount -Environment $EnvironmentName -ServicePrincipal -Tenant $TenantId -Credential $SPNCreds
if (((Get-AzContext).Subscription).Name -notlike "Default Provider Subscription") {
throw "Failed to obtain access to the 'Default Provider Subscription'. Please verify the SPN has been assigned the '$($AzureStackRole)' role for the 'Default Provider Subscription'."
} else {
Write-Output -InputObject "Your SPN can successfully authenticate with ARM Endpoint $($AzureStackAdminArmEndpoint) and has got access to the 'Default Provider Subscription'"
}
#endregion
#region Remove sessions
if ($PepSession) {
Write-Output -InputObject "Removing PSSSession to the Privileged Endpoint"
Remove-PSSession -Session $PepSession
}
$CheckContext = Get-AzContext | Where-Object { $_.Environment -like $EnvironmentName }
if ($CheckContext) {
Write-Output -InputObject "Disconnecting from AzS Hub Admin Management Endpoint: $($CheckContext.Environment.ResourceManagerUrl)"
$null = Disconnect-AzAccount
}
#endregion