Използвайте нашата проверка за съвместимост с Windows 11, за да проверите дали вашият компютър може да инсталира Windows 11

23 септември 2021 г 919 Изгледи Използвайте нашата проверка за съвместимост с Windows 11, за да проверите дали вашият компютър може да инсталира Windows 11

Въз основа на хардуерните изисквания на Windows 11, S Zone изгради средство за проверка на съвместимостта с Windows 11 (Get-Windows11Compatibility), базирано на PowerShell, за да ви помогне да проверите дали вашият компютър може да инсталира Windows 11.





Може да сте наясно, че може да успеете да надстроите вашия компютър с Windows 10 до Windows 11 безплатно. За да направите това обаче, трябва да имате валиден лиценз за Windows 10.



Освен това вашият компютър ТРЯБВА да отговаря на минималните изисквания за инсталиране на Windows 11. Ето защо създадохме този инструмент – за да ви помогнем да проверите дали можете да инсталирате Windows 11 на текущия си компютър.

В това кратко ръководство ще научите как разработихме този инструмент. Освен това ръководството обяснява как да стартирате отчета и ограниченията на инструмента.



Разгледайте темите на публикациите



Обяснение на скрипта за проверка на съвместимостта с Windows 11 на S Zone (Get-Windows11Compatibility)

Обяснение на скрипта за проверка на съвместимостта с Windows 11 на S Zone (Get-Windows11Compatibility)

Както намекнах във въведението си, този инструмент е изграден на PowerShell. В този раздел ще обясня скрипта зад инструмента. Този раздел е основно за Windows SysAdmins, които искат да научат PowerShell.

Така че, ако просто искате да изтеглите и използвате инструмента, можете да пропуснете този раздел.



Get-Windows11 Параметри за съвместимост

Кодът по-долу показва дефиниране на параметър на инструмента за проверка на съвместимостта с Windows 11. За да ви улесня да го забележите, удеберах параметрите.



|_+_|

Както можете да видите, има четири параметъра - DisplayResult , ExportToTextFile , PassThru , и ReportPath .

Ще обясня параметрите в следващите няколко подраздела

Параметър DisplayResult

В DisplayResult параметърът е параметър за превключване. Това означава, че за да кажете на Windows 11 Compatibility Checker да използва този параметър, вие го извиквате, без да добавяте стойности.

Ето как дефинирахме този параметър...

|_+_|

Също така бихте забелязали, че параметърът принадлежи на ParameterSetName, наречен „DisplayResult“. Изводът от това е, че ще се обадите само на DisplayResult параметър с други параметри в този ParameterSet.

Както ще видите, когато обясня скрипта зад инструмента, използвайте DisplayResult параметър за показване на резултата от проверката за съвместимост с Windows 11 на конзолата PowerShell.

Параметър ExportToTextFile

Това също е параметър за превключване. Той принадлежи на друг ParameterSetName, наречен „ExportToTextFile“. Това означава, че не можете да използвате този параметър в същата команда като DisplayResult параметър

Ето кода, който дефинира този параметър...

|_+_|

Когато извикате този параметър, Get-Windows11Съвместимост ще запише резултата от доклада за съвместимост на вашия компютър в текстов файл. Въз основа на това ще трябва да посочите друг параметър, ReportPath .

В ReportPath се използва за определяне на пътя на папката, където искате да запишете вашия отчет за съвместимост на Windows 11 Compatibility Checker. Повече за този параметър по-късно.

Обратно към ExportToTextFile параметър, както споменах по-рано, това също е параметър за превключване. Когато го посочите, той не изисква никакви стойности.

Когато посочите този параметър и ReportPath параметър, Get-Windows11Съвместимост ще експортира отчета към пътя, който сте посочили в ReportPath параметър.

Параметър PassThru

В PassThru параметърът показва резултата от проверката за съвместимост с Windows 11 на конзолата PowerShell. Освен това той записва резултата в текстов файл.

Ето кода, който използвахме, за да създадем този параметър...

|_+_|

Следвайки същата логика като в ExportToTextFile Параметър, ако PassThru параметър записва резултата от командата в текстов файл, трябва да посочите път за запазване на текстовия файл.

Изводът е, че трябва да посочите и пътя, за да запазите отчета за текстовия файл с ReportPath параметър.

Този параметър принадлежи на различен ParameterSetName, наречен „PassThru“.

Досега сме дефинирали 3 ParameterSetNames – DisplayResult , ExportToTextFile , и PassThru .

Параметър ReportPath

Това е четвъртият и последен параметър. Както можете да видите от кода по-долу, това е параметър на низ.

|_+_|

Както може би вече сте заключили, за разлика от параметъра за превключване, параметърът на низ изисква запис от вас, потребителя.

Друго важно нещо, което трябва да се отбележи за ReportPath параметърът е, че се изисква в ExportToTextFile , и PassThru команди. Това също означава, че този параметър принадлежи на съответните им ParameterSetNames – ExportToTextFile , и PassThru .

Вижте как дефинирам ParameterSetNames в ReportPath код на параметъра по-долу...

|_+_|

За да научите повече за параметрите на PowerShell, прочетете нашето пълно ръководство по темата – Параметър на PowerShell: синтаксис, типове, атрибути, аргументи и примери .

Скриптът за проверка на съвместимостта с Windows 11 (Get-Windows11Compatibility)

Скриптът Get-Windows11Compatibility е разделен на две секции. В първия раздел генерирахме различните необходими резултати.

Код за резултати от спецификации

Кодът по-долу показва пълния код в първия раздел...

|_+_|

На първо място увих кода в a Опитайте, Catch block за да ми позволи да улавям и управлявам грешки. След това използвах следните кодове, за да проверя спецификациите на компютъра:

|_+_|

Първият ред получава информацията за процесора и записва информацията е променлива, наречена процесор . Имам нужда от тази информация, защото тя е ключов елемент от Windows 11 Compatibility Checker.

След това във втория ред извадих MaxClockSpeed ​​на процесора.

Реших да не използвам тази спецификация в крайна сметка, но оставих кода в скрипта, в случай че реша да го използвам по-късно.

В ред 3 записах текущата тактова честота в процесора в променлива, наречена CurrentClockSpeed. Този резултат се връща в Hz.

И така, за да го преобразувам от Hz в GHz, увих $Processor.CurrentClockSpeed (скоростта на процесора в Hz) във функцията PowerShell [math]::round.

|_+_|

Това закръглява резултата до определен брой десетични знака. В този случай използвах 1 знак след десетичната закръгля. Въпреки това, за да преобразувам скоростта на процесора от Hz в GHz, аз разделих $Processor.CurrentClockSpeed с 1000.

Ето крайния код.

|_+_|

Също така върнах броя на процесорните ядра в процесора с командата по-долу.

|_+_|

Резултатите от тези кодове са подчертани на екранната снимка по-долу... Повече за това как генерирах това по-късно.

wifi помощ андроид изключи
Скриптът за проверка на съвместимостта с Windows 11 (Get-Windows11Compatibility)

Преминавайки от кода на спецификациите на процесора, кодът по-долу генерира спецификациите на RAM (памет) на компютъра.

|_+_|

Подобно на кода на процесора, този код използва командата Get-WmiObject PowerShell за извличане на информация за компютъра. Един от резултатите в тази команда е Обща физическа памет Имот.

Това е общата RAM памет на компютъра, върната в байтове. Още веднъж, подобно на спецификациите на процесора, за да конвертирам това от байтове в гигабайти, разделих го на 1GB (1024 байта).

Накрая, за да закръгля числата, обвих целия резултат във функция PowerShell [math]::round. Резултатът е показан в маркираната част на тази екранна снимка.

След като получих спецификациите на процесора и RAM на компютъра, следващ код, който определя текущото свободно дисково пространство на компютъра. Още веднъж, това е част от системното изискване на Windows 11 и следователно част от Windows 11 Compatibility Checker.

Използвах кода по-долу, за да изпълня тази задача...

|_+_|

В първия ред (след реда за коментари) определих, че дялът Windows 10 е инсталиран. Използвах кода по-долу за това...

|_+_|

Първата част от кода използва PowerShell $Env:windir променлива за връщане на дяла на ОС. След това използвах свойството split, за да разделя резултата на две части.

За да ви е по-лесно да разберете, ето резултата от...

|_+_| Крайният резултат от проверката за съвместимост с Windows 11 е в три части

Разделяното свойство PowerShell се прекъсва C:WINDOWS в два масива, ° С , и WINDOWS . Трябва ми обаче само буквата на устройството.

За да върна буквата на устройството (първата част от масива), добавих [0] в края на предишната команда...

Масивите на PowerShell броят членовете на масива от 0. |_+_|

Както можете да видите, командата върна буквата на устройството без стандартното двоеточие (:). За да добавя това, включих ръчно двоеточие...

|_+_| Ограничения на инструмента за проверка на съвместимостта с Windows 11

Ако се чудите защо минах през всички проблеми, за да определя буквата на дяла, на която е инсталирана ОС, ето защо. Трябва ми в следващата ми команда...

За да подчертая как тази команда се отнася до последната, включих и двете команди по-долу. |_+_|

Част от системните изисквания на Windows 11 е свободното място на компютъра. Следователно, това е една от спецификациите, които нашата проверка за съвместимост с Windows 11 връща.

В скрипта по-горе използвах Get-WmiObject команда за връщане на информацията за диска на локалния компютър. След това предадох резултата на Къде-обект и филтрира изхода с DeviceID от предишната команда.

|_+_|

Когато изпълних командата на моя компютър, тя върна резултата, показан на екранната снимка по-долу.

Както можете да видите от екрана, командата върна свойство, наречено Свободно пространство , в байтове. За да конвертирам тази стойност в гигабайти, трябва да разделя стойността на 1GB.

След това, за да закръгля стойността, трябва да използвам [математика] :: кръгъл функция. Нулата (0), удебелена в скрипта по-долу, е броят на цифрите за закръгляване на стойността.

|_+_|

Накрая определих версията на TPM, текущия фърмуер, който компютърът поддържа (BIOS или UEFI). Трябва също да определя дали SecureBootState и текущата разделителна способност на дисплея.

Определих тези стойности с командите по-долу...

|_+_| Един от нашите читатели, Брус К Андерсън, посочи, че свойството win32_tpm, което използвах, за да определя TPMVersion, е грешно. Той ми препоръча да използвам SpecVersion вместо свойството PhysicalPresenceVersionInfo, което използвах в оригиналния скрипт. Актуализирах скрипта, за да отразя тази промяна.

Изчисляване на окончателните отчети

Крайният резултат от проверката за съвместимост с Windows 11 е в три части. Ето как изглежда резултатът.

Крайният резултат от проверката за съвместимост с Windows 11 е в три части

Първата част от резултата показва текущите спецификации на компютрите. Този отчет е компилация от спецификациите, изчислени в последния раздел.

След това се показва втората част на отчета Системни изисквания на Windows 11 . И накрая, третата част е действителната съвместимост с Windows 11.

Методът, който използвах за генериране на трите резултата, е подобен. Ето пълния скрипт за трите доклада:

|_+_|

Ограничения на инструмента за проверка на съвместимостта с Windows 11

Крайният резултат от проверката за съвместимост с Windows 11 е в три части

Проверката за съвместимост с Windows 11 на S Zone има следните ограничения:

  1. Текущата версия работи само на локалния компютър. Не поддържа отдалечен компютър
  2. Въз основа на посоченото по-горе ограничение не можете да стартирате инструмента на няколко компютъра. Надяваме се да коригираме тези 2 ограничения в следващите версии. Това ще зависи и от търсенето.
  3. Инструментът проверява само скоростта на процесора. Не проверява вида на процесора. Така че има ограничен шанс средството за проверка на съвместимостта да премине вашия компютър за Windows 11, но все пак може да не успее при инсталирането. Това може да се случи, ако вашият компютър има процесор, който не е в списъка за съвместимост на процесора на Windows 11.
  4. Крайният резултат за съвместимост показва Pass или Fail в отделните спецификации. Думата Fail може да е подвеждаща. Това не означава непременно, че няма да можете да инсталирате Windows 11 на компютъра. Това просто означава, че при сегашното състояние може и да не. В повечето случаи промяната на конкретното изискване ви позволява да инсталирате Windows 11.
  5. Проверката за съвместимост с Windows 11 на techguides.com изисква да отворите PowerShell като администратор, преди да стартирате инструмента. Това е по-скоро неудобство и по-малко ограничение.

Как да изтеглите и използвате Get-Windows11Compatibility

Следвайте стъпките по-долу, за да изтеглите и използвате програмата за проверка за съвместимост с Windows 11 на S Zone:

  1. За да изтеглите функцията, щракнете върху Get-Windows11Compatibility.zip
  2. Тогава, разархивирайте файла . Когато разархивирате изтегления файл, той ще създаде папка, наречена Get-Windows11Compatibility.
  3. Копирайте папката Get-Windows11Compatibility във вашата папка с модули на Windows 10 PowerShell.

    Вашата папка PowerShell модули се намира в C:Users\DocumentsWindowsPowerShellModules
  4. Тогава, отворете PowerShell като администратор и изпълнете следните команди, преди да стартирате командата за проверка на съвместимост...
|_+_| Променете пълния път до файла към вашия път на папката PowerShell Modules, който сте копирали папката в стъпка 4
  1. И накрая, за да стартирате проверката за съвместимост, изпълнете командата по-долу...
|_+_|

Тази команда показва резултата в конзолата PowerShell...

Като алтернатива можете да запишете отчета в текстов файл с тази команда...

|_+_|

Командата ще се изпълни и ще ви информира къде е записан отчетът.

И накрая, за да покажете резултата в конзолата PowerShell и да запишете копие в текстов файл, изпълнете командата по-долу...

|_+_|

Надявам се, че сте намерили нашия инструмент за проверка на съвместимостта с Windows 11 за полезен? Ако го намерите за полезно, любезно гласувайте да до Беше ли тази публикация полезна?.

Можете също да споделите мислите си с този инструмент или да направите заявка за персонализиране. За да споделите вашите мисли или да направите заявка за персонализиране, използвайте формата ОСТАВЕТЕ ОТГОВОР в долната част на страницата.

И накрая, за да научите повече за Windows 11, посетете страницата.