У меня есть скрипт, который автоматизирует резервное копирование Windows USMT, но у меня возникла проблема с Powershell 2.0.В основном у меня есть параметр сценария, который требует положительного целого числа, и проверка работает в Powershell 3.0+, но не в 2.0, который поставляется в Windows 7.
Код параметра:
[CmdletBinding()]
Param (
[ValidateScript({
if( -Not ($_ | Test-Path) ){
throw "File or folder does not exist"
}
if($_ | Test-Path -PathType Leaf){
throw "The Path argument must be a folder. file paths are not allowed."
}
if( -not (($_ | Get-ChildItem | Measure-Object).Count -eq 0) ) {
throw "The Folder '$_' Has Content/Files! USMT will not run against a non-empty backup folder!!"
}
return $true
})]
[System.IO.FileInfo]$BackupPath,
[switch]$OfflineUSBDock,
[ValidateRange(1, [int]::MaxValue)][int]$UEL
)
Ошибка:
Итак, мой вопрос: как я могу исправить это для правильной работы в Powershell 2.0?Цель состоит в том, чтобы параметр $ UEL принимал только положительное целое число.
Полный сценарий