我想使用PowerShell脚本在用户登录时自动执行与用户相关的任务.
有时用户会将其Documents文件夹从默认位置移开.如何在PowerShell中确定用户的Documents文件夹的位置?
我想使用 PowerShell 脚本在用户登录时自动执行与用户相关的任务。
\n\n有时,用户会将其文档文件夹从默认位置移动。如何使用适用于所有特殊文件夹的方法确定 PowerShell 中用户文档文件夹的位置?
\n\n我尝试使用基于Lee Holmes 工作的 PowerShell 的 SHGetKnownFolderPath 调用
\n\n由于 pinvoke 网站 C# 示例不使用 StringBuilder,我认为它不是必需的,并删除了构建器 +“-Using”引用
\n\nparam($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) \nRun Code Online (Sandbox Code Playgroud)\n\n我还尝试从这里使用 New-PInvoke \n并将“shell32.dll”作为 lib 值并
\n\nint SHGetKnownFolderPath( [MarshalAs(UnmanagedType.LPStruct)] Guid rfid, uint dwFlags, IntPtr hToken, out String pszPath )\n …Run Code Online (Sandbox Code Playgroud)