我正在尝试创建一个PowerShell命令,该命令读取一个注册变量,然后执行一个命令。它使用CMD从命令行执行此操作,并在SYSTEM下运行。
我有以下代码:
powershell.exe -ExecutionPolicy ByPass -WindowStyle Minimized -Command
"$ErrorActionPreference = 'silentlycontinue' |`
New-Variable -name UserNameForSapFolderRemoval -Value (get-itemproperty 'HKCU:\Volatile Environment' |`
Select-Object -ExpandProperty UserName) |`
Remove-Item $("C:\Users\"+$UserNameForSapFolderRemoval +"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Sapgui 7.30") -Force -Recurse |`
Remove-Variable -Name UserNameForSapFolderRemoval"
但它返回:
The string is missing the terminator
我添加了“角色,但没有成功。
知道如何让这个powershell命令运行成功吗?
答案 0 :(得分:1)
从注册表中解析用户名太复杂了,因为已经存在$env:username
。试试这样的事情,
powershell -command { rm -force -recurse "c:\users\$env:username\appdata\whatever" }