当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 计算机名 |查找计算机名称的方法

作者:精品下载站 日期:2024-12-14 04:54:37 浏览:13 分类:玩电脑

PowerShell 计算机名 |查找计算机名称的方法


[玩转系统] PowerShell 计算机名 |查找计算机名称的方法

PowerShell 计算机名简介

了解您登录的系统的计算机名称或本地主机总是有用且方便的。还需要运行某些 cmdlet,因为它们需要计算机名称作为强制参数。在使用远程计算机或需要在远程计算机上运行某些脚本时,它也非常重要。本文将介绍使用 PowerShell 查找计算机名称的各种方法。

查找计算机名称的方法

可以通过多种方式和命令来识别计算机名称。以下是一些方法。

  • 来自环境变量
  • 使用主机名进程方式
  • 使用 WMI/CIM
  • 使用.Net机器价值
  • 来自内核函数
  • 使用.Net的Gethostname()函数

我们将详细了解上述各项。

1.从环境变量中查找计算机名称

查找计算机名称的最简单方法是读取环境变量。这是最简单、最有效、最快的方法。它还存在一个主要缺点,因为环境变量很容易被覆盖,因此存在一些风险因素。结果可能会出现偏差。

输入:

$env:computername

输出:

[玩转系统] PowerShell 计算机名 |查找计算机名称的方法

要获取所有环境变量,可以使用以下 cmdlet。

获取子项目环境:

要获取计算机名称,可以使用以下 cmdlet。

输入:

get-childitem env:computername

输出:

[玩转系统] PowerShell 计算机名 |查找计算机名称的方法

2、使用主机名处理方式

与Linux一样,Windows也有一些可用于获取信息的二进制文件。执行hostname.exe将返回计算机名称。运行以下命令将显示计算机名称

输入:

hostname.exe

输出:

[玩转系统] PowerShell 计算机名 |查找计算机名称的方法

3. 使用WMI

自 Windows 2000 版本起,Wmi 可在 Windows 计算机上使用。在之前的版本中,它是一个外部包。使用 CIM 实例也可以实现同样的效果。

输入:

Get-WMIObject Win32_ComputerSystem | Select-Object -ExpandProperty name
(Get-CIMInstance CIM_ComputerSystem).Name

输出:

[玩转系统] PowerShell 计算机名 |查找计算机名称的方法

4.使用.Net类

可以使用 .Net 类找到计算机名称。

输入:

[system.environment]::MachineName
Similarly using the gethostname function the computer name can be found out.
[System.Net.Dns]::GetHostName()

输出:

[玩转系统] PowerShell 计算机名 |查找计算机名称的方法

5. 重命名计算机名称

有时管理员可能需要重命名计算机名称。在这种情况下,可以使用重命名计算机 cmdlet。

语法:

NAME
Rename-Computer
SYNTAX
Rename-Computer [-NewName] <string> [-ComputerName <string>] [-PassThru] [-DomainCredential <pscredential>] [-LocalCredential <pscredential>] [-Force] [-Restart]
[-WsmanAuthentication {Default | Basic | Negotiate | CredSSP | Digest | Kerberos}] [-Protocol {DCOM | WSMan}] [-WhatIf] [-Confirm]  [<CommonParameters>]
ALIASES
None
参数
  • -ComputerName:这表示要重命名的计算机。它可以是本地系统或远程计算机。默认情况下,它指的是本地系统。要重命名本地计算机,请提及 localhost 或。要重命名远程计算机,请指定远程系统的 IP 地址或 NetBIOS 名称或 FQDN 名称。它的类型是字符串。它接受管道输入,但不支持通配符。
  • -Confirm:这表示在执行 cmdlet 之前必须显示确认消息。数据类型是一个开关,也可以使用cf来访问。不接受管道输入,并且不允许使用通配符。
  • -DomainCredential:这表示用于连接到域的帐户。如果系统加入域,则凭据是必需的。它的类型是PSCredential,默认值为none。不接受管道输入,并且不允许使用通配符。
  • -Force:这表示无需用户确认即可运行 cmdlet。
  • -本地凭据:这表示有权访问计算机的帐户。默认情况下,将获取当前用户凭据。如果不应出现凭据提示,则应使用域凭据参数。它的类型是 PSCredential。它不接受管道输入,并且不允许使用通配符。
  • -NewName:这是计算机的新名称。不允许使用空格和句点。允许的最大字符数为 63,并且不能仅包含数字。它的数据类型是字符串。接受管道输入。
  • -PassThru:这用于显示命令运行时的预览。它不会产生任何输出。该参数的数据类型是一个开关。默认情况下,该值为 false。
  • -重新启动:表示更改名称后重新启动系统。大多数情况下,需要重新启动才能使名称更改生效。其类型为开关。它的默认值是无。它不接受管道输入,也不允许使用通配符。
  • -Whatif:这不会产生任何输出。这就像一个预览。参数的数据类型是一个开关,可以作为wi访问。如果未提供该值,则视为 false。
  • -WsmanAuthentication:它表示将用于验证凭据的 WSman 协议机制。可能的值为 basic、Credssp、Default、Digest、Kerberos 和 negotiate。它的类型是字符串。默认值为无。它不接受管道输入,也不允许使用通配符。

PowerShell 计算机名示例

PowerShell 计算机名示例如下:

输入:

Write-Host "Welcome to renaming of computer name demo"
Write-Host "Renaming of local computer"
Rename-Computer -NewName "vigneshnew" -DomainCredential home\vignesh
Write-Host "Computer renamed successfully"
Write-Host "Renaming of remote computer"
Rename-Computer -ComputerName "testserver1" -NewName "testservernew" -DomainCredential test\vignesh -Force
Write-Host "Computer renamed successfully"

输出:

[玩转系统] PowerShell 计算机名 |查找计算机名称的方法

结论

因此,本文详细介绍了在 PowerShell 中识别本地计算机名称或远程计算机名称。它还通过示例解释了获得它的各种方式。本文还详细介绍了更改计算机名称的方法。要了解更多详细信息,建议编写示例脚本并进行练习。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯