Articles of PowerShell

WEF从Windows Server 2012 R2上的客户端收集Windows Defender日志

我正在尝试在Windows 2012 R2收集器服务器上设置Windows事件转发。 我正在寻找从Windows Defender收集事件,Windows Defender默认在Windows 7和8客户端上。 我知道Microsoft在2012 R2上不支持Windows Defender。 我只是想从支持的客户端收集订阅事件。 当我查看应用程序和服务日志时,无法在收集器服务器上findWindows Defender应用程序(因为我认为该function未安装,因此无法在此处列出)。 path应该如下: 应用程序和服务日志/ Microsoft / Windows / Windows Defender / Operational, 就像在这个technet文章中描述的那样: https ://answers.microsoft.com/zh-CN/protect/forum/protect_defender-protect_start/access-scan-logs/1066927e-35c8-4e66-ae3b-ca542776312c 也许有人知道我可以如何收集这些日志? 或者我应该创build一个PS脚本,将所需的日志移动到另一个位置,如安全日志,以便我的2012R2服务器可以收集事件?

为什么Powershell远程处理时会忽略HyperV Checkpoint-VM参数SnapshotName?

在PowerShell中使用此代码: $Servers = "computer.domain.com" # Open Session $Session = New-PSSession -ComputerName $Servers # Create Daily Checkpoints. Invoke-Command -Session $Session -ScriptBlock {Get-Vm * | Checkpoint-Vm -SnapshotName "Daily Snapshot" –AsJob} 我的快照是用默认名称创build的,为什么忽略-SnapshotName参数? 从PS ISE执行此操作按预期工作…

升级NuGet Powershell Cmdlet

我正在尝试使用这里提到的NuGet PowerShell cmdlet。 我有一个问题,我使用VS2015和我的机器的NuGet包源指向“ https://api.nuget.org/v3/index.json ”,但PowerShell cmdlet只有当我指定“ http://www.nuget.org/api/v2/ ”的来源。 我也错过了只存在于v3中的cmdlet。 我如何升级我的PowerShell的Nuget版本?

启用ActiveSyncDebugLogging不起作用

我们有一个使用ActiveSync与Exchange设备同步的Exchange 2010服务器。 出于某种原因,随机邮件没有被同步到设备。 我正在尝试查看activesync的debugging日志logging,但未能启用此属性。 有没有人遇到这个奇怪的问题,并知道它的决议? Set-Casmailbox user1 -ActiveSyncDebugLogging:$ true 无论多less次或在哪里运行此命令,或者当我为多个用户运行时都无关紧要。 我似乎无法修改此属性。 我错过了什么吗?

.NET框架实际上不是4?

我正在编写一个PowerShell脚本运行在运行PowerShell v2的Windows Server 2008 R2上,它需要压缩文件的能力。 要做到这一点,我需要有这一行代码来导入程序集: add-type -path "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.IO.Compression.FileSystem.dll" 但是,当我运行代码时,它与以下错误: Add-Type : Could not load file or assembly 'file:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.IO.Compressi on.FileSystem.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runt ime and cannot be loaded. 所以我去检查使用这里提供的registry方法安装了什么.NET版本: Microsoft:如何确定哪些.NET Framework版本安装 当然,我已经开始了 378758 == .NET Framework 4.5.1 installed on Windows […]

使用Get-MailboxDatabase以最小的邮箱计数返回归档数据库?

我有一个class轮PoSH命令,我使用返回最小的(通过邮箱号码)数据库,它的作品很棒… … – Get-MailboxDatabase LIVE_* -Status | select Name,@{Name="NumberofUsers";Expression={(Get-Mailbox -resultsize unlimited -Database $_.name).Count}} | Sort -Property NumberofUsers | Select -ExpandProperty Name -First 1 我想用这个命令还可以通过归档邮箱号码计数返回最小的归档数据库,这怎么办呢? 我试过了… Get-MailboxDatabase ARCHIVE_* -Status | select Name,@{Name="NumberofUsers";Expression={(Get-Mailbox -Archive resultsize unlimited -Database $_.name).Count}} | Sort -Property NumberofUsers | Select -ExpandProperty Name -First 1 我们的存档邮箱数据库有一个ARCHIVE_前缀,我已经改变了上面,但它不起作用,对于每个归档数据库,返回的NumberofUsers值为0。 有人能指出我正确的方向吗? 谢谢。

连接到远程服务器失败,并显示以下错误消息:用户名或密码不正确

我正尝试将PowerShell远程连接到Exchange服务器。 这是一个单独的AD域。 (连接域A到域B)我可以从域A连接到其他域的服务器就好了。 我收到以下错误: PS Y:\Personal\scripts> $session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://server1.domainB.tld/PowerShell/ -Authentication Kerberos -Credential $cred New-PSSession : [server1.domainB.tld] Connecting to remote server server1.domainB.tld failed with the following error message : The user name or password is incorrect. For more information, see the about_Remote_Troubleshooting Help topic. At line:1 char:12 + $session = New-PSSession -ConfigurationName […]

在对远程服务器执行命令时,在PowerShell中拒绝访问

我试图在几个远程服务器上执行下面的脚本,我认为这个语法是正确的,但是它一直以“拒绝访问”的forms出现。 有几件事要注意 – 我正在执行脚本作为目标框中的pipe理员,所以债权人不应该是一个问题。 我也尝试使用-cred以防万一,同样的错误发生。 本质上,脚本要做的是从该静态位置执行nsrports命令并更改端口范围,然后回收networking服务器。 $servers = Get-Content Z:\scripts\computers2.txt invoke-command -ComputerName $servers -ScriptBlock {cd "C:\Program Files\Legato\nsr\bin\"; .\nsrports -s "7937-9000"} Restart-service -DisplayName "*Networker Remote Display Service" -force 输出: Program 'nsrports.exe' failed to execute: Access is denied At line:1 char:50 + cd "C:\Program Files\Legato\nsr\bin\"; .\nsrports <<<< -s "7937-9000". + CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException + […]

本地PC无法连接到刚刚创build的新Azure VM。 错误 – …服务器名称无法parsing

标准免责声明,对于PowerShell和Azure远程机器来说是非常新的。 这是我的powershell脚本。 这个命令失败了: $ setupSession = New-PSSession -ComputerName $ pip -Port 5986 -Credential $ serviceCreds -UseSSL 这是我的脚本。 # Variables for common values $resourceGroup = "rgTest" $location = "East US" $vmName = "vmTest" $SubscriptionName = "subscription test" $StorageAccountName = "sanTest" $NetworkSecurityGroupName = "nsgTest" $myNic = 'nicTest' $MYvNET = 'vnetTest' $myNetworkSecurityGroupRuleHTTP = 'nsgruleHTTPTest' $myNetworkSecurityGroupRuleRDP = 'nsgruleRDPTest' $myNetworkSecurityGroupRuleWWW […]

Powershell脚本运行System.IO.FileSystemWatcher作为Windows服务

我需要一个FileWatcher脚本来检测新文件并执行另一个PowerShell脚本,如果find文件。 此第二个PS脚本的目标目录将文件输出到目录以P:挂载的UNC装载。 UNC挂载实际上是一台Linux机器的SMB共享。 该Linux机器托pipe一个SMB服务,授予一个Linux用户的权限。 该Linux用户有适当的权利来创build和修改SMB目录中的文件。 我可以得到filewatcher脚本执行行动完全罚款,如果我在login时在实时窗口中运行脚本。 我无法让filewatcher脚本作为Windows服务运行,并在System.IO.FileSystemWatcher检测到新文件后正确执行命令。 我使用winsw.exe格式来创buildWindows服务。 当我作为SYSTEM用户运行这个…什么都不是。 当我以自己的方式运行服务时,成功在实时窗口中运行它的同一个用户什么都没有。 这是winsw.xml <service> <id>StartWatchingFiles</id> <name>Start Watching Files</name> <description>This is used to watch files.</description> <executable>PowerShell.exe</executable> <logmode>reset</logmode> <arguments>-ExecutionPolicy Bypass -File "C:\scripts\StartWatching.ps1"</arguments> </service> 运行之后,将生成文件,并且观察程序脚本不会触发PS脚本以响应新检测到的文件。