【发布时间】:2016-11-25 15:24:34
【问题描述】:
我正在使用 SaltStack 配置一些 Windows 10 机器,我需要做的一件事是禁用 Cortana。我知道我可以很容易地从它自己的设置中被禁用有没有办法从 CMD 做到这一点,以便我可以通过盐运行它?
【问题讨论】:
标签: windows powershell cmd cortana
我正在使用 SaltStack 配置一些 Windows 10 机器,我需要做的一件事是禁用 Cortana。我知道我可以很容易地从它自己的设置中被禁用有没有办法从 CMD 做到这一点,以便我可以通过盐运行它?
【问题讨论】:
标签: windows powershell cmd cortana
可以在 Windows 10 家庭版以外的大多数 Windows 10 版本上通过组策略禁用 Cortana。
一种方法是在提升权限或本地管理员命令提示符下使用 REG.EXE 命令,或者在以管理员身份运行的 BAT 文件中:
reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "AllowCortana" /t REG_DWORD /d 0
解释:
它的组策略 ADMX 位于:C:\Windows\PolicyDefinitions\search.admx
您可以通过按 WindowsKey + R 并用记事本打开它来查看此 ADMX:
notepad C:\Windows\PolicyDefinitions\search.admx
对于我正在使用的 Windows 10 版本 21H2,它包含以下内容:
<policy name="AllowCortana" class="Machine"
displayName="$(string.AllowCortana)" explainText="$(string.ExplainAllowCortana)"
key="SOFTWARE\Policies\Microsoft\Windows\Windows Search"
valueName="AllowCortana">
<parentCategory ref="Search" />
<supportedOn ref="windows:SUPPORTED_Windows_10_0" />
<enabledValue>
<decimal value="1" />
</enabledValue>
<disabledValue>
<decimal value="0" />
</disabledValue>
</policy>
因此,破译它是策略类 Machine,因此它位于本地机器注册表配置单元或 HKLM 中。
它在注册表中所在的键是:SOFTWARE\Policies\Microsoft\Windows\Windows Search
如果它被禁用,则值名称为 0 的十进制值(或 DWORD)AllowCortana
因此,要禁用 Cortana,您只需转到“HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search”并创建 DWORD 类型的值名称“AllowCortana”,值为 0。
此外,如果您要禁用 Cortana,您可能还需要考虑禁用搜索网络。
reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Search" /v "ConnectedSearchUseWeb" /t REG_DWORD /d 0
ADMX 政策如下所示:
<policy name="DoNotUseWebResults" class="Machine"
displayName="$(string.DoNotUseWebResults)"
explainText="$(string.ExplainDoNotUseWebResults)"
key="SOFTWARE\Policies\Microsoft\Windows\Windows Search"
valueName="ConnectedSearchUseWeb">
<parentCategory ref="Search" />
<supportedOn ref="WinBlueOnly" />
<enabledValue>
<decimal value="0" />
</enabledValue>
<disabledValue>
<decimal value="1" />
</disabledValue>
</policy>
禁用这些搜索选项中的任何一个仍允许在计算机和云中搜索文件。如果你也想禁用它,它都在 ADMX 中。
【讨论】:
尝试将其放入文本文档,另存为“disable-cortana.bat”,然后将其放入系统目录(通常为“C:\Windows\System32”)。右键单击开始菜单,然后单击“命令提示符(管理员)”。键入“disable-cortana”并在询问时按任意键。应打开一个 Windows 资源管理器窗口,并选择重命名的 Cortana 文件夹。这是批处理脚本:
@echo off
echo "Killing Cortana and renaming folder..."
taskkill /F /im SearchUI.exe
taskkill /F /im RemindersServer.exe
ren C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy Microsoft.Windows.Cortana_cw5n1h2txyewy.bak
echo "Process completed successfully."
echo "Opening output folder..."
pause
explorer.exe /select,"C:\Windows\SystemApps\Microsoft.Windows.Cortana_cw5n1h2txyewy.bak"
【讨论】: