特定应用程序部署的先决条件是,在安装之前,我们需要在 PC 的 Windows Trusted Publishers 证书存储中安装特定的 PKI 证书。
有没有办法检测是否已经安装了特定的证书?理想情况下使用单行命令或简短脚本(可用于 pre-req 检测,或作为 SCCM 2012 中的依赖项检查)?
似乎有很多命令和脚本可以列出所有已安装的证书,或者所有已安装的证书即将到期,但我无法确定是否安装了某个特定证书。
我正在将网络中所有旧的 Windows XP 机器替换为运行 Windows 7 的新机器。
我希望这将是一项简单的任务,但显然不是:我安装的所有机器(使用 WDS)都重复显示特殊错误并进入系统还原。
DC 是一台 Windows Server 2008 R2 机器,DHCP、DNS 和 WDS 服务也是如此。
例如:尝试在本地安装新程序、尝试打开 c:\windows\System32\systempropertiesadvanced.exe 或尝试使用 WMI 或 sysinternals 工具时,所有机器都显示错误:文件名或扩展名太长作为 procmon。
可能还有其他程序会以这种方式失败,但我没有尝试运行它们。
此外,所有机器往往每 2-3 天进行一次系统还原 - 我一直无法确定原因。遇到第一个问题后重置计算机将使我 100% 的时间恢复系统。不过,我不记得它是否在没有第一个症状的情况下发生过。我的猜测是,这要么是我安装的映像的问题,要么是组策略的问题,该组策略可能包含 Win7 不喜欢的 XP 内容。
我尝试在新安装的机器上运行GPUpdate /force并重新启动它,但没有任何反应(尽管在删除了一些我认为不必要的 GPO 之后发生了这种情况)。
我尝试从新捕获的图像安装机器并加入域 - 错误仍然存在(机器在我删除这些 GPO 之前加入了域,但在我删除它们之后发生了错误)。
关于如何解决这个烂摊子的任何建议?
我有一个自签名的 .cer 证书,我需要将它部署到大约 1000 台机器上,运行从 Windows XP 和 Server 2003 到 Windows 7 和 Server 2008 R2 的各种 Windows 版本。
SCCM 是我们的常规部署方法,并尝试以几种不同的方式部署这些方法,但遇到了这样一个事实,即并非所有必需的工具都在所有操作系统上可用,或者我只是在自动部署中收到错误消息而我没有没有看到手动运行它们。
我发现的最跨平台友好的方法是从安装了管理工具的 XP SP3 副本中获取 CertUtil.exe 和 certadm.dll 的副本,并将其放在与 .cer 文件相同的文件夹中,然后在批处理文件中使用以下命令行:
certutil.exe -addstore TrustedPublisher cert.cer
certutil.exe -addstore root cert.cer
Run Code Online (Sandbox Code Playgroud)
手动运行批处理文件可以很好地工作,但是自动运行它会出现各种错误。
有没有更好的方法来跨 Windows 平台执行此操作?
Windows 2000 域,我们希望将其升级到 2003。一旦域在 2003 上,我们希望放置一个运行 SQL 2012 的 2012 成员服务器,同时保留 2 个降级的 Windows 2000 服务器。
3 个 Windows 服务器 SP4 32 位 DC
是否可以将现有的 2003 年服务器中的任何一个用作新的 DC,还是最好获得一台新服务器作为 DC?
升级域会对运行 Exchange 2003 的 2000 服务器产生影响吗?
我需要做的是在现有的批处理文件中添加几行,以便它根据机器名称执行不同的操作。
我们有一个标准化的命名方案,其中机器名称的前三个字母表示机器类型和位置。对于其中三个机器前缀,我想运行一个命令,其余的我不想。
到目前为止,我所得到的是,这样的命令将查找机器名称中的字符,并根据它是否匹配返回名称或不返回任何内容:
echo %COMPUTERNAME% | FIND /I "UKD"
Run Code Online (Sandbox Code Playgroud)
使用这样的循环会做同样的事情,但对于多个名称:
FOR %%A IN (UKD UKL USD) DO echo %COMPUTERNAME% | FIND /C /I "%%A"
Run Code Online (Sandbox Code Playgroud)
我还没有弄清楚如何在IF
语句或类似的东西中使用它们中的任何一个的输出。谁能帮我吗?