@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
479 lines (478 loc) • 12.5 kB
TypeScript
import { AzureArcStatusEnum } from '../../azure/models/azureArcStatusEnum';
import { PowerShellSessionRequestOptions } from '../../data/powershell';
/**
* Server Inventory query parameters.
*/
export interface ServerInventoryParams {
/**
* name of server node.
*/
name: string;
/**
* options for PowerShell session request.
*/
requestOptions?: PowerShellSessionRequestOptions;
}
/**
* Windows Operating Systems
*/
export declare enum WindowsOperatingSystem {
Unknown = 0,
Legacy = 1,
WindowsVista = 2,
Windows7 = 3,
WindowsServer2008 = 4,
WindowsServer2008R2 = 5,
Windows8 = 6,
WindowsServer2012 = 7,
Windows8Point1 = 8,
WindowsServer2012R2 = 9,
Windows10 = 10,
WindowsServer2016 = 11,
WindowsServer2019 = 12
}
/**
* Windows Product Types
*/
export declare enum WindowsProductType {
Workstation = 1,
DomainController = 2,
Server = 3
}
/**
* Smbios Info
*/
export interface SmbiosData {
/**
* indicator of the Serial Number assigned from Company and is accessible on exterior of device.
*/
serialNumber: string;
/**
* identifies the company brand name under which the device is marketed to the end user.
*/
manufacturer: string;
/**
* This is a unique value and is intended to be associated with this specific machine.
* This can be null depending on the machine
*/
uuid: string;
/**
* identifies the baseboard and should accurately reflect
* variances in baseboards across different devices in the same family and product name.
* This can be null depending on the machine
*/
baseBoardProduct: string;
/**
* physical frames or structures of a machine
*/
chassis: string[];
/**
* Types of Chassis defined in the specification.
*/
chassisTypes: string[];
/**
* identifies the company sub-brand name, specific to a grouping of similar devices known as a product line,
* under which the device is marketed to end users
*/
systemFamily: string;
/**
* identifies the device in a format that can be determined by Company.
*/
systemSkuNumber: string;
/**
* Asset tag number of the system enclosure
*/
smBiosAssetTag: string;
}
/**
* The address entry for address list.
*/
export interface ServerInventoryAddressEntry {
ipAddress: string;
addressFamily: 'InterNetwork' | 'InterNetworkV6';
}
/**
* Server Inventory data interface.
*/
export interface ServerInventoryData {
/**
* The server name.
*/
serverName: string;
/**
* The name of server. (CSName/OperatingSystem)
*/
name: string;
/**
* The domain name of server. (Domain/ComputerSystem)
*/
domainName: string;
/**
* The workgroup name of server if any. (Workgroup/ComputerSystem)
*/
workgroupName: string;
/**
* The FQDN of server if any. (ComputerSystem)
*/
fullyQualifiedDomainName: string;
/**
* The FQDN of server if any. (ComputerSystem) Not lower cased.
*/
fullyQualifiedDomainNameRaw: string;
/**
* The hostname of computer which was configured on the computer.
*/
hostname: string;
/**
* The hostname of computer which was configured on the computer. Not lower cased.
*/
hostnameRaw: string;
/**
* The NetBios name which might be trimmed by 15 characters.
*/
netBios: string;
/**
* The IP address list.
*/
addressList: ServerInventoryAddressEntry[];
/**
* The operating system name of server. (Caption/OperatingSystem)
*/
operatingSystemName: string;
/**
* The operating system name of server. (SKU/OperatingSystem)
*/
operatingSystemSKU: number;
/**
* The operating system version of server. (Version/OperatingSystem)
*/
operatingSystemVersion: string;
/**
* The total size of physical memory.
*/
totalPhysicalMemory: number;
/**
* The domain role.
*/
domainRole: number;
/**
* The windows product type.
*/
productType: WindowsProductType;
/**
* The computer manufacturer.
*/
computerManufacturer: string;
/**
* The computer model.
*/
computerModel: string;
/**
* The number of logical processors.
*/
totalLogicalProcessors: number;
/**
* Indicating if the server has ManagementTools namespace to support TaskManager provider.
*/
isManagementToolsAvailable: boolean;
/**
* Indicating if the computer has ServerManager namespace to support ServerManager provider.
*/
isServerManagerAvailable: boolean;
/**
* Whether or not Windows Management Framework v5.0 or higher is installed.
*/
isWmfInstalled: boolean;
/**
* Indicating if the server node is a part of Microsoft Cluster.
*/
isCluster: boolean;
/**
* The FQDN of Microsoft Cluster if it's a part of Microsoft Cluster.
*/
clusterFqdn: string;
/**
* Indicating if current user is a member of administrators group.
*/
isAdministrator: boolean;
/**
* Indicates if the node has S2D enabled
*/
isS2dEnabled: boolean;
/**
* Indicates if the node has Britannica enabled
*/
isBritannicaEnabled: boolean;
/**
* Indicates if the hyper-v role is installed
*/
isHyperVRoleInstalled: boolean;
/**
* Indicates if the hyper-v powershell feature is installed
*/
isHyperVPowershellInstalled: boolean;
/**
* Indicates if CredSSP is enabled.
*/
isCredSSPEnabled: boolean;
/**
* Indicating if remote app enabled.
*/
isRemoteAppEnabled: boolean;
/**
* SMBIOS Data
*/
smbiosData: SmbiosData;
/**
* The system lockdown policy enforcement mode.
*/
systemLockdownPolicy: string;
/**
* Type of operating system value
*/
osType: string;
/**
* Product name that a manufacturer gives to a computer
*/
model: string;
/**
* Last reboot time
*/
lastBootUpTime: string;
/**
* The status of the azure arc in the server
* i.e connectioned, disconnected etc
*/
azureArcStatus: AzureArcStatusEnum;
/**
* The operating system build number
*/
buildNumber: string;
/**
* The operating system update build revision
*/
updateBuildRevision: number;
/**
* The operating system display version eg: 22H2
*/
operatingSystemDisplayVersion: string;
/**
* Indicating if the server is HCI.
*/
isHciServer: boolean;
}
/**
* Server Inventory class.
*/
export declare class ServerInventory implements ServerInventoryData {
serverName: string;
private static nanoDisplayFormat;
private static server19PreviewBuildNumber;
private static nanoServerSkus;
/**
* The name of server. (CSName/OperatingSystem)
*/
name: string;
/**
* The domain name of server. (Domain/ComputerSystem)
*/
domainName: string;
/**
* The workgroup name of server if any. (Workgroup/ComputerSystem)
*/
workgroupName: string;
/**
* The FQDN of server if any. (ComputerSystem)
*/
fullyQualifiedDomainName: string;
/**
* The FQDN of server if any. (ComputerSystem) Not lower cased.
*/
fullyQualifiedDomainNameRaw: string;
/**
* The hostname of computer which was configured on the computer.
*/
hostname: string;
/**
* The hostname of computer which was configured on the computer. Not lower cased.
*/
hostnameRaw: string;
/**
* The NetBios name which might be trimmed by 15 characters.
*/
netBios: string;
/**
* The IP address list.
*/
addressList: ServerInventoryAddressEntry[];
/**
* The operating system name of server. (Caption/OperatingSystem)
*/
operatingSystemName: string;
/**
* The operating system name of server. (SKU/OperatingSystem)
*/
operatingSystemSKU: number;
/**
* The operating system version of server. (Version/OperatingSystem)
*/
operatingSystemVersion: string;
/**
* The total size of physical memory.
*/
totalPhysicalMemory: number;
/**
* The domain role.
*/
domainRole: number;
/**
* The windows product type.
*/
productType: WindowsProductType;
/**
* The computer manufacturer.
*/
computerManufacturer: string;
/**
* The computer model.
*/
computerModel: string;
/**
* The number of logical processors.
*/
totalLogicalProcessors: number;
/**
* Indicating if the server has ManagementTools namespace to support TaskManager provider.
*/
isManagementToolsAvailable: boolean;
/**
* Indicating if the computer has ServerManager namespace to support ServerManager provider.
*/
isServerManagerAvailable: boolean;
/**
* Whether or not Windows Management Framework v5.0 or higher is installed.
*/
isWmfInstalled: boolean;
/**
* Indicating if the server node is a part of Microsoft Cluster.
*/
isCluster: boolean;
/**
* The FQDN of Microsoft Cluster if it's a part of Microsoft Cluster.
*/
clusterFqdn: string;
/**
* Indicating if current user is a member of administrators group.
*/
isAdministrator: boolean;
/**
* Indicates if the node has S2D enabled
*/
isS2dEnabled: boolean;
/**
* Indicates if the node has Britannica enabled
*/
isBritannicaEnabled: boolean;
/**
* Indicates if the hyper-v role is installed
*/
isHyperVRoleInstalled: boolean;
/**
* Indicates if the hyper-v powershell feature is installed
*/
isHyperVPowershellInstalled: boolean;
/**
* Indicates if CredSSP is enabled.
*/
isCredSSPEnabled: boolean;
/**
* Indicating if remote app enabled.
*/
isRemoteAppEnabled: boolean;
/**
* SMBIOS Data
*/
smbiosData: SmbiosData;
/**
* The system lockdown policy enforcement mode.
*/
systemLockdownPolicy: string;
/**
* Type of operating system value
*/
osType: string;
/**
* Product name that a manufacturer gives to a computer
*/
model: string;
/**
* Last reboot time
*/
lastBootUpTime: string;
/**
* The status of the azure arc in the server
* i.e connectioned, disconnected etc
*/
azureArcStatus: AzureArcStatusEnum;
osSerialNumber: string;
/**
* The operating system build number
*/
buildNumber: string;
/**
* The operating system update build revision
*/
updateBuildRevision: number;
/**
* The operating system display version eg: 22H2
*/
operatingSystemDisplayVersion: string;
/**
* Indicating if the server is HCI.
*/
isHciServer: boolean;
/**
* Initializes a new instance of the ServerInventory Class.
*
* @param serverName the server name to query.
* @param data the server inventory recovered data.
*/
constructor(serverName: string, data?: ServerInventoryData);
/**
* Gets the sku number indicating whether the computer is Nano server.
*
* @return boolean true if nano
*/
get isNano(): boolean;
/**
* Gets a value indicating if this is a windows server
*
* @return boolean true if this is a server
*/
get isServer(): boolean;
/**
* Gets a value indicating if this is a windows client
*
* @return boolean true if this is a client
*/
get isClient(): boolean;
/**
* Indicates whether the computer is domain controller or not.
*
* @return boolean true if domain controller
*/
get isDomainController(): boolean;
/**
* Gets the display name of operating system.
*/
get operatingSystemDisplayName(): string;
/**
* Gets the display name of total physical memory.
*/
get totalPhysicalMemoryDisplayName(): string;
/**
* Gets the operating system enumb of the machine
* see: https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832(v=vs.85).aspx for operating system version mapping.
*/
get operatingSystem(): WindowsOperatingSystem;
}