小编Zul*_*rib的帖子

在Powershell中获取用户的Documents文件夹

我想使用PowerShell脚本在用户登录时自动执行与用户相关的任务.

有时用户会将其Documents文件夹从默认位置移开.如何在PowerShell中确定用户的Documents文件夹的位置?

windows-server-2008-r2 powershell-3.0

19
推荐指数
2
解决办法
1万
查看次数

使用文件夹 GUID 在 Powershell 中获取任何特殊文件夹路径

我想使用 PowerShell 脚本在用户登录时自动执行与用户相关的任务。

\n\n

有时,用户会将其文档文件夹从默认位置移动。如何使用适用于所有特殊文件夹的方法确定 PowerShell 中用户文档文件夹的位置?

\n\n

我尝试使用基于Lee Holmes 工作的 PowerShell 的 SHGetKnownFolderPath 调用

\n\n

由于 pinvoke 网站 C# 示例不使用 StringBuilder,我认为它不是必需的,并删除了构建器 +“-Using”引用

\n\n
param($KNOWNFOLDERID)\n\n$Pinvoke = @\xe2\x80\x99\n[DllImport("shell32.dll")]\npublic static extern int SHGetKnownFolderPath(\n     [MarshalAs(UnmanagedType.LPStruct)] Guid rfid,\n     uint dwFlags,\n     IntPtr hToken,\n     out String pszPath  // API uses CoTaskMemAlloc\n     );\n\xe2\x80\x98@\n\n$type = Add-Type -MemberDefinition $Pinvoke  \n    -Name Win32Utils -Namespace SHGetKnownFolderPath  \n    -PassThru\n\n$type::SHGetKnownFolderPath($KNOWNFOLDERID) \n
Run Code Online (Sandbox Code Playgroud)\n\n

我还尝试从这里使用 New-PInvoke \n并将“shell32.dll”作为 lib 值并

\n\n
int SHGetKnownFolderPath(     [MarshalAs(UnmanagedType.LPStruct)] Guid rfid,     uint dwFlags,     IntPtr hToken,     out String pszPath  )\n …
Run Code Online (Sandbox Code Playgroud)

powershell pinvoke powershell-3.0

5
推荐指数
1
解决办法
4313
查看次数