标签: computer-name

如何从浏览器中读取客户端的计算机/计算机名称?

如何从浏览器中读取客户端的计算机/计算机名称?
是否可以使用JavaScript和/或ASP.NET?

javascript asp.net computer-name

47
推荐指数
4
解决办法
23万
查看次数

38
推荐指数
3
解决办法
10万
查看次数

与.NET Standard 1.4等效的Environment.MachineName

我正在创建一个将在WPF项目和.NET Core项目中使用的类库.我正在尝试使用我的应用程序获取机器的名称.

在.NET Core和WPF应用程序中,我都可以使用Environment.MachineName值.但是在我的.NET标准类库中我不能.

我收到以下错误:

'Environment'不包含'MachineName'的定义

我试着做这个问题的答案,但是当我尝试添加时,System.Windows.Networking.Connectivity.NetworkInformation.GetHostNames()我得到以下错误:

当前上下文中不存在名称"Windows"

我认为这仅适用于Windows 10 Universal Apps?无论哪种方式,我宁愿采用独立于平台的方式获取机器名称(这种方式似乎只适用于Windows机器)

.net c# computer-name .net-standard

14
推荐指数
1
解决办法
9757
查看次数

从python中的网络驱动器号获取完整的计算机名称

我使用python来填充一个表,其中包含许多存储文件的文件路径.但是,该路径需要具有完整的网络驱动器计算机名称,而不仅仅是驱动器号,即

//计算机名/文件夹/子文件夹/文件

病人:/文件夹/子文件夹/文件

我已经使用win32api,win32file和os.path模块进行了调查,但没有任何东西看起来像它能够做到这一点.我需要类似win32api.GetComputerName()的功能,但能够将已知的驱动器号作为参数放入,并返回映射到该字母的计算机名称.

那么在python中是否有查找驱动器号并取回计算机名称?

python windows network-drive computer-name

7
推荐指数
3
解决办法
2002
查看次数

在C#中获取Lan的计算机名称

我想创建一个聊天应用程序,其中有一个ComboBx.我想用网络中的所有计算机名称填充它.我怎样才能在C#中实现这一目标?

c# lan computer-name

6
推荐指数
1
解决办法
771
查看次数

如何在 MacOS Sierra/High Sierra 中使用 python 获取用户设置的计算机名称

以下问题已部分回答,请参阅下面的解决方案部分。所以我发布这个部分是为了帮助其他人,而且因为我的解决方案还没有真正解决问题。

所以,问题是为什么以下技术(使用 python 的平台和套接字库)给出的主机名根据您连接的路由器给出不同的主机名,以及为什么它也不同于计算机名和本地主机名。顺便说一下,这也是非常特定于 mac 的。

首先,我使用的是配备 High Sierra 10.13.6 的 MacBook pro 2015 型号。我使用终端并执行以下操作:

import platform
platform.node()
Run Code Online (Sandbox Code Playgroud)

根据分配给 MacBook 的 IP 地址,这给了我类似“192-168-1-4.tpgi.com.au”的信息。不同的路由器给出不同的结果。我也得到了类似的结果

import socket
socket.gethostname()
Run Code Online (Sandbox Code Playgroud)

它再次返回类似于“192-168-1-4.tpgi.com.au”的内容。

其次,我承认回答类似问题的文章 4271740/how-can-i-use-python-to-get-the-system-hostname

但是,这个问题略有不同,毕竟就我的应用程序的用户而言,主机名应该是他们在系统设置中可以看到的,实际上是不同的。如果我运行:

sudo scutil --get LocalHostName
Run Code Online (Sandbox Code Playgroud)

我得到系统设置中显示的名称(在共享下,它相当混乱地显示了计算机名称和本地主机名,它们也可以不同)。本地主机名与限定语句一起显示:

您本地网络上的计算机可以通过以下网址访问您的计算机:foo.local

所有这一切都是一个问题的原因是我的应用程序使用了主机名,这与 mac 上的本地主机名和计算机名不同。该主机名随后会出现在我们的用户界面中,当然,当其格式为“192-168-1-4.tpgi.com.au”时,它对识别用户的计算机没有帮助。用户很可能希望看到他们的计算机名称,因为这是可见的。在 Mac 上,主机名是不可见的,它可以通过命令设置或获取,但如果遇到这个问题,我们的用户自然不会想到它。

解决方案

所以问题与我相信如何开箱即用地设置 macs 相关。在mac上可以通过终端中使用以下命令来查询主机名:

hostname
192-168-1-4.tpgi.com.au
Run Code Online (Sandbox Code Playgroud)

这将返回实际用于解析 IP 地址的主机名。正如我上面提到的,这与计算机名称不匹配,这在使用我们的应用程序时往往会引起混淆。当我运行以下查询时,我发现了这一点。

sudo scutil --get HostName
HostName: not set
Run Code Online (Sandbox Code Playgroud)

所以我使用以下命令将主机名设置为我为机器识别的名称,如下所示

sudo scutil --set HostName foo
Run Code Online (Sandbox Code Playgroud)

现在,当我运行以下命令时,我得到了我和其他技术含量较低的用户所期望的结果。

import socket
socket.gethostname()
foo

import platform
platform.node()
foo
Run Code Online (Sandbox Code Playgroud)

最后只是为了更好的衡量,从我跑的终端

hostname
foo
Run Code Online (Sandbox Code Playgroud)

结论

好的,虽然我已经写了我找到了一个解决方案,但它并不是我真正需要的解决方案,问题是我需要显示用户设置的计算机名称,而不是主机名。由于我使用的是 …

python hostname computer-name macos-high-sierra macos-mojave

6
推荐指数
1
解决办法
2459
查看次数

在Delphi中获取本地计算机名称的最佳方法是什么

代码需要与D2007和D2009兼容.


我的回答:感谢所有回答的人,我和他一起去了:

function ComputerName : String;
var
  buffer: array[0..255] of char;
  size: dword;
begin
  size := 256;
  if GetComputerName(buffer, size) then
    Result := buffer
  else
    Result := ''
end;
Run Code Online (Sandbox Code Playgroud)

delphi computer-name

4
推荐指数
3
解决办法
2万
查看次数

这是机器名称还是什么?

我有第三方dll,应该返回机器名称.有时会回来

\\John-PC
Run Code Online (Sandbox Code Playgroud)

其他一些时候它返回

\\192.168.1.120
Run Code Online (Sandbox Code Playgroud)

最近我发现它会返回这样的东西

\\[ef80::32d6:2255:27dd:123c]
Run Code Online (Sandbox Code Playgroud)

那么第三种选择是什么?

如果它不是一个bug或MAC orelse,我可以将其转换为\ 192.168.1.120并获得快乐吗?

dns computer-name

3
推荐指数
1
解决办法
171
查看次数

检索计算机名称

我正在为一家公司建立一个网站,该公司拥有一台可以在计算机上注册的软件,并使用该计算机的名称和用户名.如何在没有用户填写的情况下检索这些值?

如果有帮助的话,我正在使用codeigniter

php codeigniter computer-name

2
推荐指数
1
解决办法
2221
查看次数

如果计算机名称包含

我需要创建一个批处理文件,只有在计算机名称包含某些字符串时才会在Active Directory中移动计算机名称对象,例如:

If %computername% contains "LAP" 
( dsmove "CN=%computername%,CN=Computers,DC=domain,DC=local" -newparent"OU=**Laptops**,OU=Computers,OU=Company,DC=domain,DC=local" )

    If %computername% contains "DESK" 
        (dsmove "CN=%computername%,CN=Computers,DC=domain,DC=local" -newparent "OU=**Desktops**,OU=Computers,OU=Company,DC=domain,DC=local" )
Run Code Online (Sandbox Code Playgroud)

请问正确的命令是什么?

if-statement contains batch-file computer-name

1
推荐指数
1
解决办法
1万
查看次数