小编Col*_*337的帖子

调用批处理文件并使用其自己的路径/目录运行

我有一个批处理文件,可以像这样调用其他批处理文件:

e:\foo\master.bat 有内容:

call e:\bar\run1.bat 
Run Code Online (Sandbox Code Playgroud)

e:\bar\run1.bat有内容

app1.exe
Run Code Online (Sandbox Code Playgroud)

问题是当我运行master.bat app1.exe时不会被执行,因为它会期望它在e:\foo目录中而不是在e:\bar目录中

windows batch-file batch windows-command-prompt

16
推荐指数
1
解决办法
7万
查看次数

为什么我在使用 Powershell get-winevent 时会收到未经授权的错误?

我是域管理员,我尝试在提升的控制台中运行(右键单击> 以管理员身份运行),并且在执行时始终出现错误

get-winevent -logname application | where {$_.message -match "Faulting application"} | `
                                    select TimeCreated,message
Run Code Online (Sandbox Code Playgroud)

我会得到三行结果,然后

Get-WinEvent : Attempted to perform an unauthorized operation.
At line:1 char:13 Get-WinEvent : Attempted to perform an unauthorized operation.
 + CategoryInfo          : NotSpecified: (:) [Get-WinEvent], UnauthorizedAccessException
 + FullyQualifiedErrorId : Attempted to perform an unauthorized operation.,Microsoft.PowerShell.Commands.GetWinEventCommand
Run Code Online (Sandbox Code Playgroud)

这似乎是一个新的发展,以前没有遇到过这些错误。

它是一致的 - 如果我从另一台服务器使用 -computername 运行它,模式仍然是 3 OK 行,然后是 X 错误,然后是 5 OK 行,等等。

powershell user-accounts

10
推荐指数
1
解决办法
1万
查看次数

如何让 SCCM 识别来自 Powershell 脚本完成的返回码?

我正在使用 SCCM 2012 应用程序部署来安装软件。特定的安装类型是脚本安装程序,因为 SCCM 一直因 exe 验证错误而失败。该脚本是 powershell,即使由 SCCM 执行也能成功安装软件。

问题是 SCCM 只能从脚本的完成中看到 0 的返回。我试过write-host, return, write-output, 和只是一个带有软重启代码的行项目。SCCM 似乎没有读取它们,因为应用程序执行日志捕获了 0 的返回值。

您如何从 powershell 输出返回代码,以便 SCCM 可以解释它们?

scripting powershell sccm sccm-2012-r2

9
推荐指数
1
解决办法
3万
查看次数

Windows MachineKey 容器文件名是如何派生的?

C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys目录中有一个 Key Containers 的枚举。命名约定是<uniqueGUID>_<staticGUID>,我假设<staticGUID>是机器标识符。最终,我希望能够将密钥容器与其各自的证书配对,以便我可以针对 ACL 的特定密钥文件。为此,我需要知道<uniqueGUID>它是如何派生的以及它与证书的关系。

到目前为止,我检查过的 Microsoft 资源尚未阐明答案,但非常适合参考:

了解机器级和用户级 RSA 密钥容器(IIS 参考)

如何:更改 MachineKeys 目录的安全权限

windows certificate access-control-list cryptography

8
推荐指数
2
解决办法
2万
查看次数

测试集群 Powershell cmdlet 列表与验证

Powershell cmdlet 会Test-Cluster查询大量数据并执行验证测试,然后将这些测试打包成一份漂亮的报告。如果您运行,Test-Cluster -List您将获得一个项目列表,您可以使用 cmdlet 单独查询。当您阅读DisplayName's时,有一个通用的命名方案。它们都以"List""Validate"开头。

显然,“验证”将通过失败来实际测试故障转移。但是将某些东西命名为“列表”让我认为它只是对数据运行时的查询。我已经使用以下脚本对此进行了测试:

$TestList = Test-Cluster -List | Where-Object {$_.DisplayName -like "List*"}
Test-Cluster -Include $TestList.DisplayName -ReportName "c:\cluster reports\report"
Run Code Online (Sandbox Code Playgroud)

在生成此报告时,我没有看到任何记录的集群错误或注意到任何故障转移活动。Microsoft technet 对此也不是很清楚,但他们确实推断这种行为与我的想法一致。请参阅此摘录(强调我的):

测试结果以您指定的文件名记录在一个文件中。通过运行验证测试,您可以确认您的硬件和设置与故障转移群集兼容。有多种类型的测试,包括集群、库存、网络、存储、系统和其他类型的测试。存储测试不会测试集群角色正在使用的联机磁盘或存储池。要测试此类磁盘,请先运行 Stop-ClusterGroup 以停止群集角色,然后运行 ​​Test-Cluster。测试完成后,再次启动集群角色,也称为资源组。

测试集群 TechNet 页面

我想提醒您注意他们对“验证”一词的使用。此外,在运行该脚本时,作为输出的一部分,它说:

Test Result:
ClusterSkippedTestsCompleted
Run Code Online (Sandbox Code Playgroud)

如果包括验证测试,结果是:

Test Result:
ClusterConditionallyApproved
Run Code Online (Sandbox Code Playgroud)

在我的测试环境中,网络测试生成了一些触发条件批准的警告。我在谷歌上搜索了很多,以找到描述“验证”“列表”拆分背后逻辑的文档,但我没有找到任何东西。这就引出了一个问题......

列表请求会触发故障转移事件吗?

powershell cluster windows-server-2012-r2

8
推荐指数
1
解决办法
7056
查看次数

DHCP 服务器不提供给 PXE 客户端

DHCP 服务器不提供给 PXE 客户端

背景:

我正在将 PXE 服务添加到现有的 SCCM 2007 服务器。SCCM 服务器与 DHCP 服务器(Server 2008 x86)分开,并且没有安装 PXE 服务或 WDS。在将 WDS 添加为角色之前,我在配置管理器中添加了 PXE 服务。因为 DHCP 位于单独的服务器上,所以我没有对 DHCP 选项进行任何更改(当前没有配置 60、66 或 67)。

WDS 配置了启动映像(从 Win7 安装 dvd 和由其他人创建的安装映像)。SCCM 配置了一个 TS 并将其通告给未知计算机集合。

DHCP 服务器配置为 DHCP 和 BOOTP 请求(我添加 BOOTP 作为故障排除的一部分,默认租用时间设置为 5 分钟)。它还为 IPV4 地址启用了 NAP,但为此 SCOPE 禁用了 NAP。我的主机、VM、DHCP 服务器和 SCCM/WDS 服务器都在同一个子网上。瞻博网络路由器移动数据包。

我正在使用配置为网络启动的 VirtualBox 机器测试 PXE,它附加了一个空的动态分配的磁盘。Wireshark 安装在我的主机(运行 VirtualBox)和 DHCP 服务器上。

问题:

当 VM 启动时,它会执行网络 PXE 引导。我可以在主机和 DHCP 服务器上的 Wireshark 中看到 VM 的发现请求。但是,DHCP …

dhcp windows-server-2008 sccm dhcp-server pxe-boot

6
推荐指数
0
解决办法
5391
查看次数

查询 Powershell 错误对象时间发生

Powershell 错误对象包含大量数据,但我似乎无法追踪给定错误的发生时间。Using$Error[0] | fl -f检索了大量信息,但没有一个信息似乎是生成错误的日期时间。在我看来,此数据将/应该是错误对象的一部分,而我只是无法找到确切的属性。

我可以通过使用 try/catch 块并捕获时间来获得近似值,但我需要尽可能精确的时间戳。任何人都知道发生时间的位置/是否存储在 $Error 对象中?

scripting powershell error-handling powershell-v4.0

6
推荐指数
1
解决办法
753
查看次数

组策略不适用于特定服务器

我有一台服务器 - 2008 R2 Enterprise,运行 WSUS 和我们的 KMS 服务器 - 它无法应用域中的任何组策略。我不知道如何处理这个问题。有任何想法吗?

到目前为止,我的步骤包括以下内容。

  1. 通过验证安全通道是好的 netdom verify myhost
  2. 试过了 gpupdate /force
  3. 查看 gpresult /v 输出 - 没有显示任何计算机策略
  4. 通过注册表戳了一下。HKLM\Software\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\GPOLink-List仅显示本地策略的条目。
  5. 重命名文件夹 C:\ProgramData\Microsoft\Group Policy
  6. 取下钥匙 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Group Policy\History
  7. 应用KB310741 中概述的步骤
  8. 三重检查事件日志(应用程序、系统、组策略操作),所有这些都没有显示问题。
  9. 三重检查 AD 计算机中的位置和组成员资格设置 - 应该有大约 30 个策略应用。

我错过了什么更明显的东西?

编辑:

我确实注意到了一些有趣的附加项目 -上面描述的 State\Machine 键上的Distinguished-Name值变回空白。不知道如何或为什么。我尝试粘贴正确的值,但没有用。

group-policy windows-server-2008-r2

5
推荐指数
1
解决办法
2501
查看次数