小编Mat*_*ert的帖子

由 Start-Process Cmdlet 调用时,批处理脚本未执行

我在这里的 Windows Server 2012 R2 上有一个奇怪的问题,对我来说根本没有任何意义。

我有一个 PowerShell 脚本,它基本上具有以下结构:

Function Something-Different
{
    [...]
}

Function Start-Some-Batch
{
    Start-Process "K:\Path\To\Batch.cmd" 
}

Function Something-Else
{
    [...]
}

Something-Different
Start-Some-Batch
Something-Else
Run Code Online (Sandbox Code Playgroud)

但是批处理文件K:\Path\To\Batch.cmd永远不会被执行!

更多信息和事实:

  • 所有操作均由同一域用户执行
  • PowerShell 版本为 4.0
  • 在 Windows 资源管理器中双击批处理文件可以毫无问题地执行它
  • PowerShell 脚本不提供任何错误输出
  • 执行Start-Process "K:\Path\To\Batch.cmd"直接从PowerShell控制台的确也没有提供任何输出也不踢批处理脚本
  • $error[0] 执行后为空
  • 该函数Something-Else执行得很好(这意味着Start-Some-Batch不会阻止 PS 脚本完成其执行)
  • 运行提升的 PowerShell 脚本不会改变任何事情
  • 从 cmd.exe 提示符调用批处理脚本也不会启动它(提升与否)
  • 我怀疑Security Settings通过组策略来的一百个中的任何一个

什么会导致这种奇怪的行为?我在这里没有想法了。

powershell batch-file windows-server-2012-r2

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

在哪一点成为更改的计算机组成员身份处于活动状态?

将计算机对象添加到 AD 组时,组成员资格在哪个时间点变为活动状态?是否有某种 kerberos 刷新间隔(类似于组策略刷新)?

我知道当计算机重新启动时它肯定会激活,我也知道这个klist -lh 0 -li 0x3e7 purge技巧。

active-directory kerberos

4
推荐指数
1
解决办法
148
查看次数

PowerShell:如何_exclusively_检索特定属性

我怎样才能检索到一个特定的属性完全

我知道select-objectcmdlet 在这方面似乎有些过时:

PS C:\> Get-ADOrganizationalUnit -SearchBase 'OU=Houston,DC=contoso,DC=net' -Filter 'Name -like "SomeOU"' -Properties * | Select-Object Description,Streetaddress,State,postalcode | format-list
Run Code Online (Sandbox Code Playgroud)

一个优化的版本是:

PS C:\> Get-ADOrganizationalUnit -SearchBase 'OU=Houston,DC=contoso,DC=net' -Filter 'Name -like "SomeOU"' -Properties Description,Streetaddress,State,postalcode
Run Code Online (Sandbox Code Playgroud)

为什么-property开关不仅仅返回输入的属性?

powershell active-directory

3
推荐指数
2
解决办法
1033
查看次数

Azure VM 大小中的小写字母是什么意思?

Azure 提供各种类型的虚拟机大小,并且它们具有大写字母(例如 B、D、DC、E、F 等)。某些实例类型还具有小写字母(例如 Da、Dd、Das、Ds、Ed 等)。这是否映射到任何特定功能?

azure

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