FileMaker:是否有任何本地方法来获取客户端的计算机名称?

问题描述 投票:0回答:6

FileMaker (11 Advanced) 是否有一种本地方法可以在脚本中获取客户端的计算机名称?显示连接到数据库的客户端时,FileMaker 服务器中显示的计算机名称会很好。

目的:我希望让 filemaker 调用并根据用户和计算机设置窗口位置。 (同一用户的笔记本电脑和台式机可能有不同的窗口位置和大小首选项 - 请考虑 byHost 用户首选项。)

替代:我知道可以使用外部脚本获取客户端计算机名称,但如果可用,我更喜欢本机方式。

filemaker
6个回答
4
投票

FileMaker Pro 12.0 中引入了此新功能:

Get ( PersistentID )

来自 FileMaker 文档:http://www.filemaker.com/help/12/fmp/html/func_ref2.32.54.html:

以 32 位十六进制字符串的形式返回运行 FileMaker Pro 的计算机或运行 FileMaker Go 的设备的唯一且不变的标识符。

如果您使用的是 FMP 12+,这将是比依赖

Get(SystemNICAddress)
更好的选择,后者可能会发生变化。


3
投票

我仍然无法回答所提出的问题。然而,出于所述目的,我刚刚找到了命令

Get ( SystemNICAddress )

它将为每台计算机提供一个不经常更改的唯一标识符。这就是我的目的所需的全部内容,并且可能会比我最初要求的值更好。


2
投票

我知道这是一篇旧文章,但我们出于其他原因处理过同样的事情,也许这会对某人有所帮助。

由于 FM 本身似乎没有内置此功能,即使对于版本 17,我只是制作了一个表,其中包含文件打开时创建的 NIC 地址记录(如果尚不存在),然后是 DNS名称是后来手动添加的。然后使用 GET 查找网卡地址后即可引用 DNS 名称。有些计算机确实有多个 NIC,因此它们被分解为单独的记录(它只是作为列表返回),但相同的 DNS 名称应用于所有计算机。 VPN NIC 的情况除外,有时会在 00:00:00:00:00:00 报告;这些都被忽略了。否则,您可能有多台计算机具有相同的空 NIC - 这没有帮助。我们使用 DNS 名称来报告与员工通话量相关的销售额。并且尝试记住一百台计算机的网卡并不像 DNS 名称那样简单,以了解该人当时坐在哪里。


0
投票

有一种本地方法可以做到这一点。

Get ( HostName )

但是您不能将其与托管文件一起使用,文件需要在本地客户端计算机上打开。 使用与托管文件通信的本地 FileMaker 文件还有其他优势 - 图形密集布局的更好性能 - 提供离线缓存

另一种方法是使用系统 shell 脚本。

为了完整起见,采用非本机方法,有一些 Filemaker 插件可以提供此功能。 www.360works.com/scriptmaster/


0
投票

要使用 FileMaker 11 识别客户端,我只需使用:

 Get(DesktopPath)

也许它可以帮助...


0
投票

对这个公认的旧线程进行一点更正: 连接客户端的 FileMaker Server 管理控制台中显示的名称是该客户端的 FileMaker 首选项中设置的名称。默认情况下,这是客户端计算机当前的 macOS 用户名,但也可以在 FM 首选项中进行手动覆盖设置。该值(默认或覆盖)是使用本机 FileMaker 函数

Get ( UserName )
返回的值(而不是获取用户帐户的值
Get ( AccountName )
。 然而,听起来原始发帖人实际上是在询问客户端自己的“本地主机名”,您可以在客户端计算机的系统设置中的共享下查看该主机名(在 macOS 中)。 要从 FileMaker 获取该信息,您需要使用可以在 FileMaker 外部调用的东西:一个用于调用简单 shell 脚本“主机名”的插件,或者一个获取主机名然后将结果放在 FileMaker 可以读取的地方的 AppleScript在临时文件中)。

© www.soinside.com 2019 - 2024. All rights reserved.