适用于所有AD用户的Powershell删除

问题描述

我正在尝试删除我们公司所有设备上的文件。我正在尝试获取计算机名列表,然后再获取用户名列表。这是我到目前为止创建的。我们已经按照用户的名字缩写来组织用户,这就是为什么我只保留前三个字符的原因。在这种情况下,我只是尝试查看每个用户的路径是否存在。

我不确定这是执行此操作的正确方法还是应该在“用户”目录路径中添加的内容。任何帮助或建议,将不胜感激。谢谢!

$ComputerList = (Get-ADComputer -Filter *).name
$ComputerName.Substring(0,3) = (Get-ADComputer -Filter *).name
Foreach ($Computer in $ComputerList)
{
$checkpath = 'C:\Users\ \AppData\Local\Microsoft\Edge\User Data\Default\Login Data'
Test-Path -Path $checkpath
}

解决方法

我会在每台设备上使用Get-ChildItem,因此它将仅找到实际登录该设备的用户。然后,您可以使用每个ChildItem的.fullname来获取完整路径,例如“ C:\ Users \ username”

Foreach ($Computer in $ComputerList)
{

    $userfolders = get-childitem C:\users\
    foreach ($user in $userfolders) {
        $path = $user.fullname
        test-path -Path "$path\AppData\Local\Microsoft\Edge\User Data\Default\Login Data"
    }

}

这将遍历列表中的每台计算机,找到每台计算机上存在的用户文件夹,然后测试每个用户的路径。

编辑:思路不清晰... get-childitem的路径必须像这样:

$userfolders = get-childitem "\\$Computer\C$\users\"

否则,它将继续反复检查您自己计算机的C:\驱动器

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...