我试过寻找这个,但我不认为我使用的是正确的单词。Powershell - 为用户名指定可变路径
我正在创建一个需要在许多环境中工作的脚本。其中一个规范是,我需要能够删除用户AppData中的某个目录。与它的问题,是我不知道如何设置一个动态路径。
I.e. C:\用户\用户1 \ AppData的\本地\ X相比C:\用户\用户2 \应用程序数据\本地\ X
如何我会得到和在本地计算机上指定一个系列的用户账户,理想情况下与轮询AD?
我试过寻找这个,但我不认为我使用的是正确的单词。Powershell - 为用户名指定可变路径
我正在创建一个需要在许多环境中工作的脚本。其中一个规范是,我需要能够删除用户AppData中的某个目录。与它的问题,是我不知道如何设置一个动态路径。
I.e. C:\用户\用户1 \ AppData的\本地\ X相比C:\用户\用户2 \应用程序数据\本地\ X
如何我会得到和在本地计算机上指定一个系列的用户账户,理想情况下与轮询AD?
退房的环境变量使用Get-ChildItem
像这样的路径对本地资源:
Get-ChildItem -Path env:
这将显示所有的环境变量和它们的值,而不需要查询Active Directory,你想为应用程序数据的一个\本地被称为LOCALAPPDATA
要使用一个环境变量的函数的语法$ENV:<Name>
这样使用环境变量LOCALAPPDATA
你会用$ENV:LOCALAPPDATA
玩的环境变量,并开始编写脚本,如果您有其他问题,您可以然后发布你的脚本,我们可以贡献一个更具体的答案来帮助你:)
从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"
}
}
我不确定我是否理解这个问题。你可以在需要使用它的地方显示相关的代码吗? –
@EtanReisner我还没有什么,嘿。我正在考虑如何在实际完成之前先写出来。我有一个Citrix环境。我需要删除一系列目录中的文件,但每个目录都位于不同的用户文件夹中。除了路径中的帐户名称以外,每个目录都是相同的。几乎像帐户名称是一个变量,我可以传递给删除线。 – Moridn
你应该尝试写点东西。并查找如何格式化/连接字符串/等。在PowerShell中。 –