允许非管理员用户在其他用户已打开 iTunes 时启动 iTunes

允许非管理员用户在其他用户已打开 iTunes 时启动 iTunes

在我的 Windows 7 计算机上,我有两个用户帐户,一个是我自己使用的管理员帐户,另一个是我妻子使用的普通帐户。我们俩都使用 iTunes 来管理各自的音乐库和 Apple 设备。

当我的妻子尝试启动 iTunes 时,她经常会看到以下错误消息:

您无法打开应用程序“iTunes”,因为另一个用户已打开该应用程序。请让其他用户退出该应用程序,然后重试。

由于她不知道我的密码,她目前无法打开 iTunes,这让我非常沮丧,而且我担心这对我的长期婚姻不利。

我尝试了几种解决方案;第一种是尝试通过 bash 脚本注销我的用户;我得到了以下结果:

for /f "tokens=1,2" %%i IN ('quser ^| find /i "jonny"') DO logoff %%j

在我自己的账户下,这个功能运行正常,但当我尝试在我妻子的个人资料下调用它时,我被告知

无法注销会话 #2,错误代码 5。

哈哈,你知道吗,当我在 SuperUser 上写下这个问题时,我突然有了一个想法并修改了脚本以在其中包含 runas /savecred;你知道吗,它起作用了!

因此,对于那些想要注销管理员身份才能启动 iTunes 的人来说,这里是您需要的批处理脚本 - 请注意,第一次运行它时,系统会提示您输入密码;后续调用将不会提示。

@echo off
Setlocal

set USERNAME="the_username_to_logoff"
set ADMIN_USER="an_admin_account"

for /f "tokens=1,2" %%i IN ('quser ^| find /i %USERNAME%') DO set SESSION_ID=%%j
runas /savecred /user:%ADMIN_USER% "logoff %SESSION_ID%"

如果有人有更好的解决方案,请发布它,因为我仍然不 100% 满意我的个人资料被注销,以防我有任何未保存的工作。

我们开始吧,经过更多的谷歌搜索,可以使用 TASKKILL 来终止 iTunes.exe 进程:

runas /savecred /user:%ADMIN_USER% "taskkill /f /im 'itunes.exe'"

但这仍然不是 100% 理想的,因为你强制终止 iTunes 进程,导致 iTunes 在下次启动时抱怨它遭遇了非正常关机。

可惜苹果没能编写出允许在同一台机器上运行多个 iTunes 实例的功能,呃 :)

相关内容