我希望获得 Exchange 中所有分发列表及其成员的列表?这是否可以使用任何内置的 Exchange 工具?电源外壳?第三方工具?
将文件从一台服务器传输到另一台服务器的可能的好的和有效的方法是什么?在这种情况下,它将从 windows server 2003 到 windows server 2008 r2。我认为 Powershell cmdlet 或批处理文件可能会有所帮助,但不确定。
powershell windows-server-2003 file-transfer batch-file windows-server-2008-r2
下面是我的 Powershell 脚本,用于删除服务器上的某些备份文件,然后显示它们的内容。有很多重复。是否有更有效的方法来执行此任务?
Remove-Item \\ietg\z$\Backups\daily\ETG*.bkf -Force -Confirm
Remove-Item \\icnt\Z$\Backups\Daily\cnt*.bkf -Force -Confirm
Remove-Item \\igre\Z$\Backups\Daily\gre*.bkf -Force -Confirm
Remove-Item \\ihvd\Z$\Backups\Daily\hvd*.bkf -Force -Confirm
Remove-Item \\iklr\Z$\Backups\Daily\klr*.bkf -Force -Confirm
Get-ChildItem \\ietg\z$\Backups\daily\
Get-ChildItem \\icnt\Z$\Backups\Daily\
Get-ChildItem \\igre\Z$\Backups\Daily\
Get-ChildItem \\ivd\Z$\Backups\Daily\
Get-ChildItem \\iklr\Z$\Backups\Daily\
Run Code Online (Sandbox Code Playgroud) 我的新定义是
$var="Tony said:"I like this game!""
Run Code Online (Sandbox Code Playgroud)
看来只有
"Tony said:"
Run Code Online (Sandbox Code Playgroud)
部分可以识别,但我需要整个句子。我能做什么?
我需要找到一种方法来自动重命名在 Windows 2008r2 文件服务器上的特定目录中创建的所有文件。这需要或多或少地立即完成,所以我不能每 5 分钟左右运行一次预定的作业。
我做了一些研究并发现我可以通过安排一个任务来触发 WMI 事件信号文件创建来做到这一点,但我真的不知道如何开始,所以我需要一些指示。
创建一个定位文件并重命名的 PS 脚本很容易,但我真的不知道如何在正确的事件上触发脚本。
powershell windows-server-2008 filesystems scheduled-task wmi
我有一个脚本,但执行需要几个小时。我需要做什么才能使这个并行运行?
$servers = Get-Content -Path c:\Scripts\MyServerList.txt
foreach ($Server in $servers)
{
Write-Output $Server;
Get-EventLog -LogName System -EntryType Error -ComputerName $Server | Measure-Object
}
Run Code Online (Sandbox Code Playgroud) 我希望能够从命令行让我的笔记本电脑进入睡眠状态。根据微软的说法,Win32_Battery WMI 类有一个 SetPowerState 方法,看起来它应该能够做到这一点,但是,在我尝试过的几台笔记本电脑上,我只是收到不同的错误,表明此方法未实现或其他各种故障:
-> gwmi Win32_Class
Get-WmiObject : Retrieving the COM class factory for component with CLSID {EB87E1BD-3233-11D2-AEC9-00C04FB68820} failed
due to the following error: 80040154.
At line:1 char:5
+ gwmi <<<< Win32_Class
+ CategoryInfo : InvalidOperation: (:) [Get-WmiObject], COMException
+ FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
Run Code Online (Sandbox Code Playgroud)
有没有笔记本电脑实现这个?知道另一种方法吗?不必是 WMI,任何使机器处于与关闭盖子在大多数笔记本电脑上相同的低功耗状态的东西。
我正在构建一个执行 http 请求的脚本,以便“唤醒”一些 asp.net 应用程序。
以下脚本正在运行,但是是同步的:
function WakeUp([string] $url)
{
Write-Host "Waking up $url ..." -NoNewLine
$client = new-object system.net.WebClient
$client.UseDefaultCredentials = $true
$null = $client.OpenRead($url)
$client.Dispose()
Write-Host " Ok"
}
# Run your code that needs to be elevated here
@(
"http://app1/",
"http://app2/",
"http://app3/"
) | % { WakeUp $_ }
Run Code Online (Sandbox Code Playgroud)
我想改进此脚本以避免唤醒目标站点。实际上,调用 toOpenRead在返回之前等待答案。
我尝试使用OpenReadAsync,但是在Dispose实际发出请求并且目标应用程序未唤醒之前调用发生。
我有哪些选择?
[编辑]应用 Andy Arismendi 的建议,我的脚本现在是:
$WakeUp = {
Param ([string] $url)
try
{
Write-Output "Waking up $url ..." …Run Code Online (Sandbox Code Playgroud) 我试图提取大约 40 个文件夹,每个文件夹都包含一个 rar,但我从未在 powershell 中做过。在 bash 中,您可以使用*/*.rar通配符来提取它们,但是如何在 powershell 中执行此操作?我尝试了一些东西
C:\Program Files (x86)\Unrar\UnRAR.exe' x .\*\*.rar
Run Code Online (Sandbox Code Playgroud)
但它错误:
UNRAR 4.10 freeware Copyright (c) 1993-2012 Alexander Roshal
Cannot read contents of .\*\*.rar
The filename, directory name, or volume label syntax is incorrect.
Run Code Online (Sandbox Code Playgroud) 有人知道如何通过 PowerShell 从多个 Windows 主机远程获取操作系统架构吗?