标签: powershell

识别/指纹 Windows Server 核心安装与完整安装

看起来这应该很容易,但我没有找到任何关于如何通过 WMI、Powershell 或其他可以相对快速地查询大量机器的方法远程识别 Windows Server“核心”安装的信息。我试图报告我们运行核心与完整安装的服务器的百分比。有任何想法吗?

windows powershell windows-server-2008 wmi windows-server-2008-r2

6
推荐指数
2
解决办法
561
查看次数

如何扩展“Get-ADPermission”的“ExtendedRights”属性?

我需要枚举嵌入在Get-AdPermission的属性“ExtendedRights”中的权限 。

如何展开此多值对象中的属性并显示它们?

通常我看到这样的命令:

Get-Mailbox | Get-ADPermission | where {($_.ExtendedRights -like "*Send-As*")} | Fl
Run Code Online (Sandbox Code Playgroud)

但是现在我的情况是我只想报告授予用户的权限(可以是发送方式,也可以是接收方式)

powershell exchange-2010

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

如何在 Exchange 2010 中查找没有 SEND AS SELF 标志的用户

我正在寻找一种方法来查找在 Exchange 2010 中没有设置 SEND AS SELF 标志的所有用户。没有该标志,用户将无法通过 SMTP 发送电子邮件,而且似乎有些用户缺少此标志(尤其是用户谁曾经是域管理员等)

我想这必须与下面的查询类似,尽管这应该显示具有 Send-as 的用户(因为它隐藏了用户名),而我正在寻找没有的用户。

[PS] C:\Windows\system32>Get-Mailbox | Get-ADPermission | where {($_.ExtendedRights -like "*Send-As*")}

Identity             User                 Deny  Inherited
--------             ----                 ----  ---------
LGBSPL.LGBS/LGBS/... NT AUTHORITY\SELF    False False
LGBSPL.LGBS/LGBS/... NT AUTHORITY\SELF    False False
Run Code Online (Sandbox Code Playgroud)

email powershell exchange-2010

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

将整个 Windows 日志导出为 XML

我想创建一个打印机统计信息,并且我有一个简单但功能强大的 XML 解析器。所以我想将打印机日志中的所有事件导出为 XML 格式。

打印服务器运行Win2008R2。当我想将过滤后的日志导出到 XML(我过滤了事件 ID 307)时,我只有 6000 个中的 300 个事件。

你可以帮帮我吗?我也尝试过 powershell 导出日志,但我无法获得 xml 结构。

windows powershell windows-server-2008 windows-event-log

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

配置匿名身份验证以使用特定站点的应用程序池标识

我不想在 GUI 中翻转开关来告诉 IIS 使用应用程序池标识进行匿名身份验证,而是想在 powershell 脚本中执行此操作。

Scott Forsyth 发布了一个解决方案,该解决方案更改了所有站点的默认设置。

如何仅对特定站点执行相同操作?用powershell?

iis powershell authentication iis-7.5

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

安装 KB2506143 后 PowerShell 3.0 x64 位损坏

我已经使用相关术语的各种变体进行了搜索,但找不到其他人遇到同样问题的其他实例,所以我希望这里有人能提供线索。

问题

我通过从 Microsoft.com 下载并运行 Windows6.1-KB2506143-x64.msu 安装了 Windows Management Framework 3.0 (KB2506143)。完成后,我根据要求重新启动了机器。重新启动并登录后,我尝试运行 64 位 PowerShell 命令外壳,它出现一秒钟然后消失。32 位外壳似乎工作正常,只是 64 位外壳出现故障。

查看 Fusion 日志,我发现:

*** Assembly Binder Log Entry  (10/4/2012 @ 1:51:48 PM) ***

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorwks.dll
Running under executable  C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: User = ********\*****
LOG: DisplayName = Microsoft.PowerShell.ConsoleHost, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL
<remainder …
Run Code Online (Sandbox Code Playgroud)

powershell

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

通过 PowerCLI 设置 VM 启动 CD

我偷偷怀疑这可能是一个错误,但我绝对愿意接受我做错事的可能性。

我在 $vm 中有一个 VMware 虚拟机,我正在尝试为它分配一个引导 CD。$vm 已关闭。

记录的方法似乎很简单:

Set-CDDrive -CD (Get-CDDrive -vm $vm) -IsoPath "[datastorename] \whatever.iso" -StartConnected 1
Run Code Online (Sandbox Code Playgroud)

现在,当我启动 VM 时,它会立即尝试 PXEboot。我关闭机器,在 vSphere 客户端中,我编辑虚拟机的属性,转到“CD/DVD 驱动器 1”,并确认“设备状态”在“开机时连接”旁边有一个复选标记。

这是疯狂的事情。当我取消选中该框,然后再次选中它,然后启动 VM,它从 ISO 启动。

我一次又一次地这样做,打开控制台,关闭它,每次,我都可以在 CLI 上设置 StartConnected 标志,GUI 反映设置,但只有在我手动标记复选框后,它才真正做到从 ISO 启动。

是否有我忽略在 PowerCLI 中执行的步骤以使此设置“采用”?

powershell vmware-vsphere pxe-boot powercli

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

如何通过 powershell 或命令提示符启动 SMTP virtualhost [SMTP Virtual Server #1]

由于我的服务器上出现了一些错误,我的SMTP服务[SMTP Virtual Server #1]停止了。我想创建将定期运行以检查SMTP服务器状态的作业,如果它停止,则脚本将再次启动它。

我用过,Start-Service "SMTPSVC"但它只启动UATSERV服务而不是[SMTP Virtual Server #1]虚拟主机(请看附件)。

服务启动后如何启动虚拟服务器?

我的管理团队正在处理这个问题。我想同时使用这个临时解决方案。

任何帮助表示赞赏... :)

SMTP 虚拟主机映像

windows powershell smtp windows-command-prompt virtualhost

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

为什么使用不同用户通过 PowerShell 创建的每周任务失败并显示错误 0x41306

我们有一些脚本可以使用 PowerShell 作为我们应用程序的一部分来创建计划作业。最近在测试它们时,我注意到其中一些总是立即失败,并且没有产生任何输出(它们甚至没有出现在Get-Job列表中)。

经过多天的调整,我们已经设法将它与任何设置为每周运行的作业隔离开来。下面是一个脚本,它创建两个完全相同的作业。当我们在我们的域上运行它,并提供域用户的凭据,然后强制两个作业在任务计划程序 GUI 中运行(右键单击 -> 运行),每天运行良好(0x0 结果),每周运行失败(0x41306)。

注意:如果我不提供 -Credential 参数,两个工作都可以正常工作。仅当任务是每周一次并且以此域用户身份运行时,作业才会失败。

我找不到有关为什么会发生这种情况的信息,也找不到任何原因它在每周工作中的表现会有所不同。Task Scheduler中的“History£”选项卡几乎没有任何有用的信息,只有“任务因用户请求而停止”和“任务终止”,两者都没有有用的信息:

任务计划程序终止了“\Microsoft\Windows\PowerShell\ScheduledJobs\Test1”任务的“{eabba479-f8fc-4f0e-bf5e-053dfbfe9f62}”实例。任务计划程序根据用户 "MyDomain\SomeUser" 的请求停止了任务 "\Microsoft\Windows\PowerShell\ScheduledJobs\Test1" 的实例 "{eabba479-f8fc-4f0e-bf5e-053dfbfe9f62}"。

这是怎么回事?为什么每周任务的运行方式不同,我该如何解决这个问题?

这是 Windows Server 2008 R2 上的 PowerShell v3。我一直无法在本地复制此内容,但我没有以与我们生产域中的用户相同的方式设置用户(我正在处理此问题,但我想尽快发布此内容,希望有人知道发生了什么!)。

Import-Module PSScheduledJob

$Action =
{
    "Executing job!"
}

$cred = Get-Credential "MyDomain\SomeUser"

# Remove previous versions (to allow re-running this script)
Get-ScheduledJob Test1 | Unregister-ScheduledJob
Get-ScheduledJob Test2 | Unregister-ScheduledJob

# Create two identical jobs, with different triggers
Register-ScheduledJob "Test1" -ScriptBlock $Action -Credential $cred -Trigger (New-JobTrigger -Weekly -At …
Run Code Online (Sandbox Code Playgroud)

powershell scheduled-task windows-server-2008-r2 powershell-v3.0

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

如何为所有 PowerShell AD cmdlet 设置默认域控制器?

ActiveDirectory模块中的所有 PowerShell cmdlet 都支持使用-server参数针对特定域控制器运行;但是有什么方法可以设置默认 DC 以用于所有与 AD 相关的操作,或者我是否需要在每个命令上指定它,如果我真的关心我正在使用哪个 DC(在涉及复制延迟时很常见) )?

powershell active-directory domain-controller

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