mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Add getOSInfo err info
This commit is contained in:
		@@ -31,35 +31,38 @@ type OSInfo struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// GetOSInfo reads Windows version information from the registry
 | 
					// GetOSInfo reads Windows version information from the registry
 | 
				
			||||||
func GetOSInfo() (*OSInfo, error) {
 | 
					func GetOSInfo() (*OSInfo, error) {
 | 
				
			||||||
 | 
						// for log detail
 | 
				
			||||||
 | 
						var keyPrefix string = `regedit:LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion`, registry.QUERY_VALUE)
 | 
						k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion`, registry.QUERY_VALUE)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, fmt.Errorf("getOSInfo, open Windows %s failed: %w", keyPrefix, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer k.Close()
 | 
						defer k.Close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	buildNumber, _, err := k.GetStringValue("CurrentBuildNumber")
 | 
						buildNumber, _, err := k.GetStringValue("CurrentBuildNumber")
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, fmt.Errorf("getOSInfo, get %s\\CurrentBuildNumber failed: %w", keyPrefix, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	majorVersionNumber, _, err := k.GetIntegerValue("CurrentMajorVersionNumber")
 | 
						majorVersionNumber, _, err := k.GetIntegerValue("CurrentMajorVersionNumber")
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, fmt.Errorf("getOSInfo, get %s\\CurrentMajorVersionNumber failed: %w", keyPrefix, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	minorVersionNumber, _, err := k.GetIntegerValue("CurrentMinorVersionNumber")
 | 
						minorVersionNumber, _, err := k.GetIntegerValue("CurrentMinorVersionNumber")
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, fmt.Errorf("getOSInfo, get %s\\CurrentMinorVersionNumber failed: %w", keyPrefix, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	revision, _, err := k.GetIntegerValue("UBR")
 | 
						revision, _, err := k.GetIntegerValue("UBR")
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, fmt.Errorf("getOSInfo, get %s\\UBR failed: %w", keyPrefix, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	productName, _, err := k.GetStringValue("ProductName")
 | 
						productName, _, err := k.GetStringValue("ProductName")
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, nil
 | 
							return nil, fmt.Errorf("getOSInfo, get %s\\ProductName failed: %w", keyPrefix, err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return &OSInfo{
 | 
						return &OSInfo{
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user