Как узнать хэш (контрольную сумму) файла в Windows PowerShell. Powershell как посмотреть версию
Как узнать версию PowerShell | Заметки сисадмина
Как узнать версию Powershell:
# Вариант 1 $PSVersionTable.PSVersion # Вариант 2 $host.version
# Вариант 1 $PSVersionTable.PSVersion
# Вариант 2 $host.version |
Результат:
PS C:\WINDOWS\system32> $PSVersionTable.PSVersion Major Minor Build Revision ----- ----- ----- -------- 5 1 15063 138 PS C:\WINDOWS\system32> $host.version Major Minor Build Revision ----- ----- ----- -------- 5 1 15063 138
PS C:\WINDOWS\system32> $PSVersionTable.PSVersion
Major Minor Build Revision ----- ----- ----- -------- 5 1 15063 138
PS C:\WINDOWS\system32> $host.version
Major Minor Build Revision ----- ----- ----- -------- 5 1 15063 138 |
Отформатируем телефонный номер:
##################################################################### # С помощью регулярных выражений и PowerShell, # приведём не читаемый телефонный номер xxxxxxxxxxxx # к читаемому виду +xxx (xx) xxx-xx-xx # Работает для белорусских и российских номеров # Очень легко переделывается для любых других # ##################################################################### [string] $tel = Read-Host "Введите номер телефона в международном формате, например 375296843234" if ( $tel -match "^375") { $tel -replace "^(...)(..)(...)(..)(..)", '+$1 ($2) $3-$4-$5' } elseif ( $tel -match "^7") { $tel -replace "^(.)(...)(...)(..)(..)", '+$1 ($2) $3-$4-$5' } else { $tel= "$tel - Неверный номер"; $tel }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
##################################################################### # С помощью регулярных выражений и PowerShell, # приведём не читаемый телефонный номер xxxxxxxxxxxx # к читаемому виду +xxx (xx) xxx-xx-xx # Работает для белорусских и российских номеров # Очень легко переделывается для любых других # #####################################################################
[string] $tel = Read-Host "Введите номер телефона в международном формате, например 375296843234" if ( $tel -match "^375") { $tel -replace "^(...)(..)(...)(..)(..)", '+$1 ($2) $3-$4-$5' } elseif ( $tel -match "^7") { $tel -replace "^(.)(...)(...)(..)(..)", '+$1 ($2) $3-$4-$5' } else { $tel= "$tel - Неверный номер"; $tel } |
Результат:
Введите номер телефона в международном формате, например 375296843234: 375296843234 +375 (29) 684-32-34
Введите номер телефона в международном формате, например 375296843234: 375296843234 +375 (29) 684-32-34 |
Пингуем IP диапазон:
################################################################################# # # С помощью PowerShell пингуем подсеть или некий IP диапазон. # Сперва вводим маску подсети (первые 3 октета IP адреса с ТОЧКОЙ!!! на конце) # Потом вводим 4 октет адреса с которого начинаем пинг # и 4 октет, которым завершаем его # ################################################################################## function IPNetEchoScanner { [string] $net = Read-Host "Введите маску сети, например 192.168.1." [int]$StartIP = Read-Host "Введите начальный IP" [int]$EndIP = Read-Host "Ведите конечный IP" for ($i = $StartIP; $i -le $EndIP; $i++) { [string]$IP = $net + $i # Убираем переход на новую строку и добавляем табуляцию write-host $IP `t -NoNewline $result = Test-Connection -ComputerName $IP -Count 1 -Quiet if ($result -eq $false) { Write-Host $result -ForegroundColor Red } else { Write-Host $result -ForegroundColor Green } } } IPNetEchoScanner
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
################################################################################# # # С помощью PowerShell пингуем подсеть или некий IP диапазон. # Сперва вводим маску подсети (первые 3 октета IP адреса с ТОЧКОЙ!!! на конце) # Потом вводим 4 октет адреса с которого начинаем пинг # и 4 октет, которым завершаем его # ################################################################################## function IPNetEchoScanner { [string] $net = Read-Host "Введите маску сети, например 192.168.1." [int]$StartIP = Read-Host "Введите начальный IP" [int]$EndIP = Read-Host "Ведите конечный IP" for ($i = $StartIP; $i -le $EndIP; $i++) { [string]$IP = $net + $i # Убираем переход на новую строку и добавляем табуляцию write-host $IP `t -NoNewline $result = Test-Connection -ComputerName $IP -Count 1 -Quiet if ($result -eq $false) { Write-Host $result -ForegroundColor Red } else { Write-Host $result -ForegroundColor Green }
}
} IPNetEchoScanner |
Результат:
PS C:\WINDOWS\system32> IPNetEchoScanner Введите маску сети, например 192.168.1.: 192.168.10. Введите начальный IP: 123 Ведите конечный IP: 126 192.168.10.123 False 192.168.10.124 True 192.168.10.125 True 192.168.10.126 False
PS C:\WINDOWS\system32> IPNetEchoScanner Введите маску сети, например 192.168.1.: 192.168.10. Введите начальный IP: 123 Ведите конечный IP: 126 192.168.10.123 False 192.168.10.124 True 192.168.10.125 True 192.168.10.126 False |
kio.by
Как найти версию Windows из командной строки PowerShell?
Как найти версию Windows, которую я использую?
Я использую PowerShell 2.0 и пытаюсь:
PS C:\> ver The term 'ver' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify tha t the path is correct and try again. At line:1 char:4 + ver <<<< + CategoryInfo : ObjectNotFound: (ver:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundExceptionКак мне это сделать?
73
2017-09-07 07:20
источник
Ответы:
Поскольку у вас есть доступ к библиотеке .NET, вы можете получить доступ к OSVersion собственности System.Environment класс, чтобы получить эту информацию. Для номера версии есть Version имущество.
Например,
PS C:\> [System.Environment]::OSVersion.Version Major Minor Build Revision ----- ----- ----- -------- 6 1 7601 65536Подробную информацию о версиях Windows можно найти Вот ,
103
2017-09-07 07:37
Чтобы получить номер версии Windows, как отмечает Джефф в своем ответ , используйте:
[Environment]::OSVersionСтоит отметить, что результат имеет тип [System.Version], поэтому можно проверить, скажем, Windows 7 / Windows Server 2008 R2 и более поздние версии
[Environment]::OSVersion.Version -ge (new-object 'Version' 6,1)Однако это не скажет вам, что это клиентская или серверная Windows, а также имя версии.
Использовать WMI Win32_OperatingSystem class (всегда один экземпляр), например:
(Get-WmiObject -class Win32_OperatingSystem).Captionвернет что-то вроде
Стандарт Microsoft Windows Server 2008
85
2018-06-13 09:56
Get-WmiObject -Class Win32_OperatingSystem | ForEach-Object -MemberName CaptionИли игра в гольф
gwmi win32_operatingsystem | % captionрезультат
Microsoft Windows 7 Ultimate20
2018-05-13 02:57
Это даст вам полная версия Windows (включая номер версии / сборки) в отличие от всех вышеперечисленных решений:
(Get-ItemProperty -Path c:\windows\system32\hal.dll).VersionInfo.FileVersionРезультат:
10.0.10240.16392 (th2_st1.150716-1608)13
2017-07-28 09:54
К сожалению, большинство других ответов не предоставляют информацию, относящуюся к Windows 10.
Windows 10 имеет версии самостоятельно: 1507, 1511, 1607, 1703 и т.д. , Это то, что winver показывает.
Powershell: (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId Command prompt (CMD.EXE): Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseIdСмотрите также связанный с вопросом о суперпользователе ,
Что касается других версий Windows, используйте systeminfo, Оболочка Powershell:
PS C:\> systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List OS Name : Microsoft Windows 7 Enterprise OS Version : 6.1.7601 Service Pack 1 Build 7601 OS Manufacturer : Microsoft Corporation OS Configuration : Standalone Workstation OS Build Type : Multiprocessor Free System Type : x64-based PC System Locale : ru;Russian Hotfix(s) : 274 Hotfix(s) Installed.,[01]: KB2849697,[02]: KB2849697,[03]:...12
2018-04-27 21:13
Я уточняю одну из ответы
Я достиг этого вопроса, пытаясь сопоставить результат с winver.exe:
Version 1607 (OS Build 14393.351)
Мне удалось извлечь строку сборки:
,((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name BuildLabEx).BuildLabEx -split '\.') | % { $_[0..1] -join '.' }Результат: 14393.351
обновленный : Вот немного упрощенный скрипт с использованием regex
(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").BuildLabEx -match '^[0-9]+\.[0-9]+' | % { $matches.Values }6
2017-10-31 20:52
Если вы хотите различать Windows 8.1 (6.3.9600) и Windows 8 (6.2.9200), используйте
(Get-CimInstance Win32_OperatingSystem).Versionчтобы получить правильную версию. [Environment]::OSVersion не работает должным образом в Windows 8.1 (он возвращает версию Windows 8).
5
2018-05-27 09:39
Since PowerShell 5:
Get-ComputerInfo Get-ComputerInfo -Property Windows*I think this command pretty much tries the 1001 different ways so far discovered to collect system information...
4
2018-05-25 14:43
As MoonStom says, [Environment]::OSVersion doesn't work properly on an upgraded Windows 8.1 (it returns a Windows 8 version): link.
If you want to differentiate between Windows 8.1 (6.3.9600) and Windows 8 (6.2.9200), you can use (Get-CimInstance Win32_OperatingSystem).Version to get the proper version. However this doesn't work in PowerShell 2. So use this:
$version = $null try { $version = (Get-CimInstance Win32_OperatingSystem).Version } catch { $version = [System.Environment]::OSVersion.Version | % {"{0}.{1}.{2}" -f $_.Major,$_.Minor,$_.Build} }3
2017-09-23 19:37
programmerz.ru
Как узнать какая версия Lync установлена | blog.eaglenn.ru
Зачем нужно знать версию Lync сервера
Компания Microsoft периодически выпускает обновления для Lync сервера, и основным требованием к обновлению является соответствие версионности. Кроме этого к версии Lync сервера могут быть чувствительны сторонние приложения.
Три способа узнать версию Lync сервера
И так, существует три способа узнать версию Lync сервера:
- PowerShell
- Используя средство LyncServerUpdateInstaller.exe
- Используя Панель управления\Программы и компоненты
PowerShell
Существует родная однострочная команда в Lync сервере . Казалось бы, можно использовать ее, но она вернет только начальную информацию. Запустите Lync Server Management Shell и введите команду Get-CsServerVersion
Как мы видим вывод этой команды имеет скудные данные. Для получения более подробной информации предлагаю воспользоваться информацией полученной из WMI. Для этого мы так же будем использовать PowerShell и консоль Lync Server Management Shell, но введем следующую команду:
Get-WmiObject –query ‘select * from win32_product’ | where {$_.name –like “Microsoft Lync Server*”} | ft Name, Version –AutoSize
Итогом работы приведенного выше запроса будет вывод всех связанных с Lync сервером компонентов, инструментов, Resource Kit, Best Practices Analyzer.
LyncServerUpdateInstaller.exe
Так же можно использовать инструмент обновления LyncServerUpdateInstaller.exe. Итогом ее запуска будет вывод информации, какие версии компонентов установлены и какие должны быть обновлены. Имейте ввиду, что для корректной работы утилиты на обновляемом сервере необходим доступ в интернетики либо если вы используете offline режим вам необходимо скачать вручную требуемые обновления.
Программы и компоненты
Откройте панель управления, программы и компоненты. В строке поиска введите Lync, в столбце справа вы также сможете получить версию всех установленных на данном сервере компонентов, относящихся к Lync серверу.
blog.eaglenn.ru
Как узнать хэш файла в Windows PowerShell
08.09.2016  windows | для начинающих
Хэш или контрольная сумма файла — короткое уникальное значение, вычисляемое из содержимого файла и обычно использующееся для проверки целостности и соответствия (совпадения) файлов при загрузке, особенно если речь идет о больших файлах (образы системы и подобные), которые могут быть скачены с ошибками или есть подозрения о том, что файл был подменен вредоносным ПО.
На сайтах загрузок часто бывает представлена контрольная сумма, вычисленная по алгоритмам MD5, SHA256 и другим, позволяющая сверить загруженный файл с файлом, выложенным разработчиком. Для вычисления контрольных сумм файлов можно использовать сторонние программы, но есть способ сделать это и стандартными средствами Windows 10, 8 и Windows 7 (требуется версия PowerShell 4.0 и выше) — с помощью PowerShell или командной строки, что и будет продемонстрировано в инструкции.
Получение контрольной суммы файла средствами Windows
Для начала потребуется запустить Windows PowerShell: проще всего использовать поиск в панели задач Windows 10 или меню Пуск Windows 7 для этого.
Команда, позволяющая вычислить хэш для файла в PowerShell — Get-FileHash, а чтобы использовать ее для вычисления контрольной суммы достаточно ввести ее со следующими параметрами (в примере вычисляется хэш для образа ISO Windows 10 из папки VM на диске C):
Get-FileHash C:\VM\Win10_1607_Russian_x64.iso| Format-ListПри использовании команды в таком виде, хэш вычисляется по алгоритму SHA256, но поддерживаются и другие варианты, задать которые можно с помощью параметра -Algorithm, например, для вычисления контрольной суммы MD5 команда будет выглядеть как в примере ниже
Get-FileHash C:\VM\Win10_1607_Russian_x64.iso -Algorithm MD5 | Format-ListПри этом поддерживаются следующие значение для алгоритмов вычисления контрольной суммы в Windows PowerShell
- SHA256 (по умолчанию)
- MD5
- SHA1
- SHA384
- SHA512
- MACTripleDES
- RIPEMD160
Подробное описание синтаксиса команды Get-FileHash доступно также на официальном сайте https://technet.microsoft.com/en-us/library/dn520872(v=wps.650).aspx
Получение хэша файла в командной строке с помощью CertUtil
В Windows присутствует встроенная утилита CertUtil для работы с сертификатами, которая, помимо прочего, умеет высчитывать контрольную сумму файлов по алгоритмам:
- MD2, MD4, MD5
- SHA1, SHA256, SHA384, SHA512
Для использования утилиты достаточно запустить командную строку Windows 10, 8 или Windows 7 и ввести команду в формате:
certutil -hashfile путь_к_файлу алгоритмПример получения хэша MD5 для файла показан на скриншоте ниже.
Дополнительно: на случай, если вам требуются сторонние программы для вычисления хэшей файлов в Windows, можно обратить внимание на SlavaSoft HashCalc.
Если же требуется вычислить контрольную сумму в Windows XP или в Windows 7 без PowerShell 4 (и возможности его установить), вы можете использовать утилиту командной строки Microsoft File Checksum Integrity Verifier, доступную для загрузки на официальном сайте https://www.microsoft.com/en-us/download/details.aspx?id=11533 (формат команды для использования утилиты: fciv.exe путь_к_файлу — результат будет MD5. Также можно вычислить хэш SHA1: fciv.exe -sha1 путь_к_файлу)
А вдруг и это будет интересно:
remontka.pro
Версия Powershell в Windows Server 2008 r2
Версия Powershell в Windows Server 2008 r2
UPD Метод опередления версии найденный мной оказался неверным. Вот правильный метод
Попытался узнать версию Powershell в свежеустановленном Windows Server 2008 R2 методом найденном в Интернет.
Powershell Version
Безусловно радует то, что это вторая версия Powershell. Это вам и красивый отладчик, и Remotings, и многое другое. Но не могу не придраться к тому, что в финальной версии так и не убрали признак CTP выпуска.
Понравилось это:
Нравится Загрузка...
Похожее
trukhanov.wordpress.com