2K+ 次浏览
当我们对远程计算机名称使用 Restart-Computer 命令时,PowerShell 会重启提到的远程计算机,而不会检查或验证服务器是否已启动。此需求由 -Wait 参数满足。每当指定 -Wait 参数时,PowerShell 都会在计算机重启时对远程计算机执行以下 3 项检查。这可以在 PowerShell 控制台的进度条中注意到。PowerShell - 如果计算机可以在远程计算机上运行 PowerShell 命令。WMI - 使用 Win32_ComputerSystem 命令对远程计算机执行 WMI 查询。WINRM - 检查远程… 阅读更多
要重启远程计算机,您需要使用计算机名称提供的 Restart-Computer 命令。例如,Restart-Computer -ComputerName Test1-Win2k12 上述命令将自动重启计算机 Test1-Win2k12,如果您有多台远程计算机需要重启,则可以使用逗号 (,) 分隔提供多台计算机。例如,Restart-Computer -ComputerName Test1-Win2k12, Test2-Win2k12 在上述示例中,重启信号将同时发送到两台计算机。您还可以使用管道重启远程计算机。例如,“Test1-Win2k12”、“Test2-Win2k12” | Restart-Computer -Verbose 或 (Get-Content C:\Servers.txt) | Restart-Computer -Verbose 一些服务器依赖于其他服务器,因此主服务器… 阅读更多
490 次浏览
要使用 PowerShell 生成强密码,我们可以使用 8 个或更多字符的密码。在下面的示例中,我们将使用 8 个字符的密码,您可以根据需要更改字符数。您可以将此脚本绑定到 Windows 窗体,并将其提供给 IT 帮助台,以便为新用户设置密码。在此示例中,我们将使用 33 到 126 之间的随机整数,并将其转换为字符,认为它们是字符的 ASCII 值。您可以在…提供的表中找到更多关于 ASCII 值的信息… 阅读更多
要使用不同的凭据复制项目,您需要在 Copy-Item cmdlet 中使用凭据参数。例如,Copy-Item C:\temp\* -Destination \\Remoteshare\c$\temp -Credential (Get-Credential) 或 $creds = (Get-Credential) Copy-Item C:\temp\* -Destination \\Remoteshare\c$\temp -Credential $creds
现在可以使用 PowerShell 轻松压缩或提取(解压缩)文件或文件夹。PowerShell 从 PowerShell 5.1 版本添加了存档模块 (Microsoft.PowerShell.Archive) 的功能。如果您使用的是旧版本的 PowerShell(4.0 或更低版本),则可以从网站或通过命令行下载并安装该模块。但是,仅下载和安装或手动将存档模块复制到模块文件夹将不起作用,因为它需要 .Net framework 4.5 提供的一些依赖 DLL 文件,因此如果您低于 4.5,则也需要考虑升级 .Net framework… 阅读更多
3K+ 次浏览
当您编写脚本时,如果您想让用户从多个值中选择一个选项,并根据该选项执行命令,我们通常可以使用 Switch 命令,为此,我们将在下面的脚本中询问用户的选择。还有另一种 .Net 方法可以创建用户菜单,我们将在上面提到的说明示例之后看到它。a. Switch 命令方法对于基于 Switch 命令的用户选择,我们将首先显示给用户的消息,然后通过 Read-Host 命令让他选择… 阅读更多
11K+ 次浏览
SSL 证书对于网站来说非常重要。它们通过激活 HTTPS 安全连接,在客户端和服务器端安全信息交换中起着关键作用。在下面的文章中,我们将使用 PowerShell 获取证书的有效期(起始日期和过期日期)。为此,我们需要发出 httpwebrequest,但在此之前,我们将忽略下面的命令中的 SSL 警告。[Net.ServicePointManager]::ServerCertificateValidationCallback = {$true} 然后我们将通过调用 .Net 类发出 HTTP web 请求。$url = "https://www.microsoft.com/" $req = [Net.HttpWebRequest]::Create($url) 当我们检查… 阅读更多
8K+ 次浏览
PowerShell 中的 Try/Catch 块用于处理脚本中产生的错误。具体来说,错误应该是终止错误。PowerShell 中的 Finally 块并非每次都必须与 Try/Catch 一起编写,但无论错误是否发生,它都将被执行。因此,当您使用 Try 块时,Catch 块是必需的,但 Finally 块不是。带有终止错误的 Try/Catch 块 - 下面是无 Finally 块的终止错误示例。示例 try { 这不允许 "这允许" } catch { Write-Host "发生错误" -BackgroundColor DarkRed } 输出 PS C:\WINDOWS\system32>… 阅读更多
9K+ 次浏览
与 ErrorActionPreference 变量类似,ErrorAction 参数的工作方式也类似。ErrorAction 参数受 PowerShell 中的高级函数和大多数内置 cmdlet 支持。它可用于将非终止错误转换为终止错误,然后您可以使用 try/catch 块来处理它们。支持的值和示例,继续 - 这是 ErrorAction 参数的默认值,将显示错误,并且管道中列出的命令将继续执行。Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist -ErrorAction Continue Write-Host "`nHello World" -BackgroundColor DarkGreen 输出 Get-WmiObject : RPC 服务器不可用。在第 1 行,第 1 个字符… 阅读更多
5K+ 次浏览
PowerShell 中的 ErrorActionPreference 变量用于通过将非终止错误转换为终止错误来控制非终止错误。错误处理取决于您为 $ErrorActionPreference 变量分配的值。值如下所示。继续 - 这是变量的默认值,当发生错误时,错误将显示在 PowerShell 控制台中,并且脚本将继续执行。Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist Write-Host "Hello World" 输出 Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist Write-Host "Hello World" Get-WmiObject : RPC 服务器不可用。在第 2 行,第 1 个字符… 阅读更多