我试过搜索这个,但我认为我没有使用正确的单词。
我正在创建一个需要在许多环境中工作的脚本。其中一个规范是,我需要能够删除用户AppData中的某个目录。问题,是我不知道如何设置动态路径。
即。 C:\ Users \ User1 \ AppData \ Local \ X 与 C:\ Users \ User2 \ AppData \ Local \ X
进行比较如何在本地计算机上获取并指定一系列用户帐户,理想情况下不使用轮询AD?
答案 0 :(得分:0)
使用Get-ChildItem
查看本地资源路径的环境变量,如下所示:
Get-ChildItem -Path env:
这将显示所有环境变量及其值,而无需查询Active Directory,您想要的AppData \ Local称为LOCALAPPDATA
要在函数中使用环境变量,语法为$ENV:<Name>
,因此要使用LOCALAPPDATA
的环境变量,您将使用$ENV:LOCALAPPDATA
使用环境变量并开始编写脚本编码,如果您有其他问题,可以发布脚本,我们可以提供更具体的答案来帮助您:)
答案 1 :(得分:0)
要从AD获取用户名,必须在运行查询的系统上安装AD模块。
#Export to a csv file user names and use it as the source.
Note that this command will export all users from your AD.
Get-ADuser -filter * | select name | Export-Csv c:\users.csv
$users = Import-Csv c:\users.csv
Foreach ($user in $users.name) {
$path = "c:\users\$user\appdata\local\X"
if ( $(Try { Test-Path $path.trim()} Catch { $false }) ) {
Remove-Item $path -Force -Recurse
}
Else {
write-host "Path not found"
}
}