2017-02-23 66 views
0

我不是Powershell專家,但是你們中的任何一個人都有一些腳本來計算文件夾中的文件並自動發送郵件給用戶?我們的用戶有漫遊配置文件在家中發送文件併發送郵件 - Powershell

(\\輪廓-SRV \%USERNAME%)

文件夾名稱相同的用戶名。是否可以有一個腳本來計算每個家庭文件夾中的文件並向用戶發送電子郵件?

域名:FirmaBis.org用戶總數:150

在EX所以計數。 aaba併發送郵件到[email protected] 指望下一個aaca併發送郵件到[email protected]

因此,腳本會根據文件夾名稱和+ firmabis.org計算文件並將郵件發送給用戶。

謝謝!

+0

你可以提供自己的工作代碼示例? SO不是一個腳本寫作服務。自己的努力是必需的。我們沒有人在這裏做別人的(付)工作。 – bluuf

+0

我不會推送任何人給我任何東西。這只是一個簡單的問題,如果有人有東西。 –

回答

1

我還沒有看到你到目前爲止嘗試過的任何東西。只是給你一個襯托:

可以使用GET-childitem.Count之間相結合的方法獲得的文件數量的列表。

(Get-ChildItem D:\FolderName | measure-object).Count 

您可以將輸出存儲在變量中。

然後,您可以通過該變量作爲BODY發送-MAILMESSAGE與您可以發送電子郵件。

+0

我沒有做任何事情,我不知道從哪裏開始。謝謝:) –

+0

@DavidJackowiak:接受答案將是可觀的。你先試,然後我們在那裏引導你。 :) –

+0

「測量對象」對於計數而言是多餘的。 '(Get-ChildItem).Count' –

2
# Get just the directories in the user directory share, ignore any files, loop over them 
Get-ChildItem -Path '\\server\share' -Directory | ForEach-Object { 

    # List all the files in the current folder (loop variable $_ is the folder) 
    $FilesInFolder = @($_ | Get-ChildItem -Recurse -Force -File) 

    # Count the files 
    $NumFiles = $FilesInFolder.Count 

    # Calculate how many MB they take up, and show it to 2 decimal places 
    $FileSize = $FilesInFolder.Length | Measure-Object -Sum | Select-ExpandProperty Sum 
    $FileSize = "{0:.0}MB" -f ($FileSize/1MB) 

    # Build the email message 
    $Message = @" 
    Hi, 
    The folder for account ($($_.Name)) has $($FilesInFolder.Count) files in it. 
    They add up to $FileSize 
    "@ 

    # Send the message through an SMTP server which is configured to allow 
    # unauthenticated relay emails from the computer running the script. 
    Send-MailMessage -SmtpServer yourmailserver -To "$($_.Name)@FirmaBis.org" -From '[email protected]' -Body $Message 
} 

未經檢驗的,但是......