我所处的环境是一个同时运行macOS和Windows的混合环境,在我们的客户机上需要双重引导。我们已经运行了Open Directory和Active Directory。macOS连接OD,Windows连接AD。
对于我们所有的计算机,我想知道他们当前启动的是哪种操作系统(如果有),以及是否有用户登录。这应该是远程完成的(例如,从我们的AD-Server)。
我用PowerShell编写了一个脚本,它从Active Directory中获取我们所有机器的列表,并测试它们当前是否在线(通过Test-Connection)。然后,它对每台联机的机器尝试Get-WMIObject,以测试它当前是否已引导至Windows,以及当前是否有登录的用户。如果它是在线的,但是Get-WMIObject不能连接,我假设它已经引导到macOS。
问题是:我如何从PowerShell中通过远程查询相应的计算机或我们的Open Directory来确定用户当前是否登录到了某个macOS计算机?
发布于 2017-04-15 10:11:04
如果是在mac上,您应该能够运行以下命令:
last | grep "logged in"它应该会告诉你谁在那里。因为我们知道这是可行的,所以我们可以使用Powershell来确定计算机是在windows上还是在mac上,并且现在有可用的环境变量。如果你运行它,指向适当的脚本,它应该能解决你所看到的问题。
if ($isOSX) {
.\callshell.sh
}
elseif ($isWindows) {
.\callPoSH.ps1
}
else {
throw "Oh boy this is bad"
}让我知道这是否有效!
https://stackoverflow.com/questions/43411295
复制相似问题