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 文件,因此如果 .Net framework 版本低于 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 块处理它们。支持的值和示例,Continue - 这是 ErrorAction 参数的默认值,错误将显示,管道中列出的命令将继续执行。Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist -ErrorAction Continue Write-Host "`nHello World" -BackgroundColor DarkGreen 输出 Get-WmiObject : RPC 服务器不可用。在第 1 行,第 1 个字符 + Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist -ErrorA ... 阅读更多
5K+ 次浏览
PowerShell 中的 ErrorActionPreference 变量用于通过将非终止错误转换为终止错误来控制非终止错误。错误处理取决于您为 $ErrorActionPreference 变量分配的值。值如下。Continue - 这是变量的默认值,当发生错误时,错误将显示在 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 个字符 + Get-WmiObject -Class Win32_Logicaldisk -ComputerName Nonexist + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [Get-WmiObject], COMException + FullyQualifiedErrorId ... 阅读更多