我希望我的 Microsoft Teams 状态在我锁定我的电脑时自动设置为立即返回,并在我解锁我的电脑时自动设置为可用。这可能吗?
我有:
查看是否有任何相关的 CLI 开关/选项可以通过谷歌搜索、运行和运行 Strings on 插入
teams.exe -?
,teams.exe /?
但似乎没有teams.exe
。使用 Process Monitor / procmon 在状态更改但没有发现任何用处时跟踪活动。我发现的唯一值得注意的是文件中的以下条目,
%appData%\Microsoft\Teams\logs.txt
但它并没有让我找到任何有用的东西:Fri Jul 03 2020 13:23:17 GMT+0100 (British Summer Time) <3292> -- event -- panelaction: Action.Outcome: setpresence, DataBag.PresenceState: beRightBack, Action.Gesture: click, Action.Scenario: setPresenceFromTrayMenu, Action.ScenarioType: other, ppChannel: Production::CC, distSrc: PROPLUS_O365BusinessRetail, ppInstallMode: UPDATE, autoStartPolicy: undefined, vdiMode: 0, eventpdclevel: 2,
考虑使用 AutoHotkey 鼠标宏,但我并没有真正追求这个,因为我希望有一个更好的解决方案,我不确定它是否适用于锁定和解锁,这有点棘手,因为状态只能访问首先将鼠标悬停在系统托盘或应用内上下文菜单项上。
在锁定和解锁我的 Windows 会话时,Teams 需要一两秒钟来更新其图标,并且在那段时间里,我注意到它会自动将其状态设置为离开和返回,这对我来说已经足够好了。
如果其他人设法想出一种以编程方式控制 Teams 状态的方法,那么我会将已接受的答案更改为他们的答案。
我创造了一些对我有用的东西,但它是一个 hack,所以请提前原谅我。危急时刻需要采取危急措施……
我使用 Java
java.awt.Robot
手动单击要在 Teams 中更改的状态。这是一个例子:
然后我将它构建到一个 jar 中(您也可以使用 编译该类
javac
)并运行如下命令:然后,您可以使用 cron 在特定时间范围内自动设置您的状态:
有几个注意事项:
mouseMove
使用每个“点击”区域的正确坐标来更新调用(见下一点)。有一种以编程方式设置 MS Teams 状态的方法,请参阅 https://docs.microsoft.com/en-us/graph/api/presence-setpresence?view=graph-rest-beta&tabs=http
您还可以将它与 Microsoft Teams Powershell 模块结合使用,有一个
Connect-Teams
cmdlet,请参见此处 - https://docs.microsoft.com/en-us/powershell/module/teams/connect-microsoftteams?view=teams-ps但是,这可能需要额外的设置——您可能需要通过 Azure 应用程序访问 Microsoft Graph API(请参阅https://docs.microsoft.com/en-us/powershell/module/teams/connect-microsoftteams?view=teams -ps#parameters ),关于
-AccessTokens
参数的部分。