# this is the URL we got: $URLRaw = 'http://go.microsoft.com/fwlink/?LinkID=135173' # we do not allow automatic redirection and instead read the information # returned by the webserver ourselves: $page = Invoke-WebRequest-Uri$URLRaw-UseBasicParsing-MaximumRedirection0-ErrorAction Ignore $target = $page.Headers.Location
$URLRaw = 'https://github.com/PowerShell/PowerShell/releases/latest' # we do not allow automatic redirection and instead read the information # returned by the webserver ourselves: $page = Invoke-WebRequest-Uri$URLRaw-UseBasicParsing-MaximumRedirection0-ErrorAction Ignore $realURL = $page.Headers.Location $version = Split-Path-Path$realURL-Leaf
"PowerShell 7 latest version: $version"
同样的方法也适用于 PowerShell Gallery 模块:
1 2 3 4 5 6 7 8 9 10
# name of a module published at powershellgallery.com $ModuleName = 'ImportExcel'
$URL = "https://www.powershellgallery.com/packages/$ModuleName" # get full URL (including latest version): $page = Invoke-WebRequest-Uri$URL-UseBasicParsing-MaximumRedirection0-ErrorAction Ignore $realURL = $page.Headers.Location # return version only: $latest = Split-Path-Path$realURL-Leaf "Module $ModuleName latest version: $latest"
Status Name DisplayName --------------------- Running AdobeARMservice Adobe Acrobat Update Service Running AgentShellService Spiceworks Agent Shell Service Running Appinfo Application Information Running AppMgmt Application Management ...
它的使用非常易于使用,最重要的是,输出强类型的对象,因此您仍然可以访问其属性
1 2 3 4 5 6 7 8 9 10
PS> Get-Service | grep running | Select-Object Name, StartType, Status
Key Value -------- FilePath notepad ArgumentList {c:\test}
PS> sudo ping 127.0.0.1-n1
Key Value -------- FilePath ping ArgumentList {127.0.0.1, -n, 1}
Now that the sudo function body works, in part 2 we look at the actual implantation of running commands elevated. 现在,sudo 函数体能正常工作,在第二部分中,我们将学习实际注入一个函数并提升权限。