我写了一个简单的脚本,在一定天后删除USMT迁移文件夹:
## Server List ##
$servers = "Delorean","Adelaide","Brisbane","Melbourne","Newcastle","Perth"
## Number of days (-3 is over three days ago) ##
$days = -3
$timelimit = (Get-Date).AddDays($days)
foreach ($server in $servers)
{
$deletedusers = @()
$folders = Get-ChildItem \\$server\USMT$ | where {$_.psiscontainer}
write-host "Checking server : " $server
foreach ($folder in $folders)
{
If ($folder.LastWriteTime -lt $timelimit -And $folder -ne $null)
{
$deletedusers += $folder
Remove-Item -recurse -force $folder.fullname
}
}
write-host "Users deleted : " $deletedusers
write-host
}
Run Code Online (Sandbox Code Playgroud)
但是我一直在畏惧 Remove-Item : …
前段时间我写了一个 Powershell 模块来向 Microsoft Teams 发送通知:
https://github.com/mhouston100/PSMicrosoftTeams
奇迹般有效。从一开始,最受欢迎的功能之一就是将文件附加到通知中。
有没有人对通过“传入 Webhook”连接器附加文件有任何想法、信息、文档等?
我试过直接在通知等中嵌入 Base64 编码的内容,但它似乎不是正确的 wau
任何人都可以解释为什么使用类似的东西:
gci -force "\\computername\c$\users\username\Documents" -recurse
Run Code Online (Sandbox Code Playgroud)
或者
gci -force "\\computername\c$\users\username\My Documents" -recurse
Run Code Online (Sandbox Code Playgroud)
查看输出时,它实际上返回:
"\\computername\c$\users\username\My Documents\"
"\\computername\c$\users\username\My Documents\My Pictures"
"\\computername\c$\users\username\My Documents\My Music"
Run Code Online (Sandbox Code Playgroud)
ETC?
“我的音乐”和“我的图片”不在该位置下,但“文档”或“我的文档”似乎报告了所有这些文件夹。
但是,如果我使用“dir”,它只会返回“我的文档”下物理上的文件。另外,如果我 gci“我的图片”,它仅返回“我的图片”的内容,我知道各种配置文件文件夹是特殊文件夹,但有没有办法只返回“我的文档”的内容。
我的脚本基本上是解析用户配置文件并返回所有计算机的大小,为重定向配置文件做准备。
所以输出总是类似:
Scanning users ........... testuser
.......................... My Documents => 500 MB
.......................... My Pictures => 500 MB
.......................... My Videos => 0 MB
.......................... Downloads => 0 MB
.......................... Total => 1000 MB
Run Code Online (Sandbox Code Playgroud)
因此,在示例中,“总计”实际上只是报告 500 MB 的图片,其中一张位于“我的图片”中,一张位于“我的文档”中
更多出于好奇,因为它对我来说工作正常(我刚刚开始使用Powershell)但我正在使用下面的文件名来获取短日期:
$shortdate = (get-date).toshortdatestring().replace("/",".")
Run Code Online (Sandbox Code Playgroud)
是否有内置功能,或者这是实现此目的的正确方法吗?