我正在创建一个PowerShell脚本,通过电子邮件发送我在Windows服务器上托管的所有网站的审核报告。我还想为每个网站打印日志文件夹的大小。
这就是我想要的。 c:\inetpub\vhosts
文件夹中有几个网站。说abc.com
和xyz.com
是网站。日志文件位于c:\inetpub\vhosts\abc.com\default\logs
。我只想获得所有这些日志文件夹的大小,如下所示。
1. c:\inetpub\vhosts\abc.com\default\logs 100 MB 2. c:\inetpub\vhosts\xyz.com.com\default\logs 120 MB
就像为*。
的每个匹配显示c:\inetpub\vhosts\*\default\logs
的文件夹大小一样
如何使用PowerShell执行此操作?
答案 0 :(得分:0)
使用您的帖子标题即可使用自己喜欢的搜索引擎。您将注意到,您可以根据需要调整示例脚本,以便根据需要进行调整。
在PowerShell中获取目录大小
你可能已经问过这个问题数百次,“有多大 那个文件夹?“当然,找到的典型GUI方法是 右键单击Windows资源管理器中的文件夹,然后打开文件夹 属性。与所有GUI一样,这不能很好地扩展。对于 例如,如果您需要100个不同文件夹的大小,该怎么办?
https://blogs.technet.microsoft.com/heyscriptingguy/2012/05/25/getting-directory-sizes-in-powershell
使用PowerShell搜索和查找文件夹
Hiin我之前的上传{ http://gallery.technet.microsoft.com/Search-for-Files-Using-340397aa 我写了"如何使用Powershell搜索和查找文件", 在此上传中,您可以搜索文件夹。
https://gallery.technet.microsoft.com/scriptcenter/Search-and-Find-Folders-af9c86ad
PowerShell报告文件夹大小的功能(Get-FolderSize)
Get-FolderSize函数显示指定的所有文件夹的大小 路径。如果要确定a中的大文件夹,此工具非常有用 特别的道路。对手动监控用户家庭特别有用 foldeers。该功能显示文件夹名称,完整路径和大小 GB ######
https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Function-to-6bebe734
答案 1 :(得分:0)
我最后编写了以下代码。可能不是最好的代码!但是,我得到了我想要的东西。
#To calculate log file size of DNN wesbite at C:\inetpub\vhosts\*\httpdocs\Portals\_default\Logs
function Get-FolderSize {
[CmdletBinding()]
Param (
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
$Path,
[ValidateSet("KB","MB","GB")]
$Units = "MB"
)
if ( (Test-Path $Path) -and (Get-Item $Path).PSIsContainer ) {
$Measure = Get-ChildItem $Path -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum
$Sum = $Measure.Sum / "1$Units"
echo $Sum
}
}
Get-ChildItem -Path C:\Inetpub\vhosts -Directory | Select -exp Name > websites.txt
echo '' > log-size.txt
foreach ($website in get-content websites.txt) {
$path = "C:\inetpub\vhosts\" + $website + "\httpdocs\Portals\_default\Logs"
$logSize = get-foldersize $path
$logSize = [INT] $logSize
if ($logSize -gt 25 )
{
$logSize = $website + " :" + "$logSize" + "MB"
echo $logSize >> log-size.txt
}
}