亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Windows 中授予文件和文件夾的所有權

如何在 Windows 中授予文件和文件夾的所有權

C#
子衿沉夜 2022-12-04 10:51:17
我遇到了一個非常煩人的問題,我花了一段時間才解決它。由于 99% 的互聯網都告訴我這是不可能的,而且我在 stackoverflow 上找不到答案,所以我決定將其發布在這里。我試圖更改 Windows 機器中文件夾/文件的所有權。這不是什么大問題,因為 DirectorySecurtiy 有一個很好的函數:“SetOwner()”。我讓它為我的當前帳戶工作,但我無法讓它為其他人工作。每次我試圖授予其他人所有權時,我都會收到此錯誤:“不允許安全標識符成為該對象的所有者”。// Get folder or creates if not existsDirectoryInfo dInfo = Directory.CreateDirectory(folderPath);// Get userIdentityReference user = new NTAccount(username);// Set ownerDirectorySecurity dSecurity = dInfo.GetAccessControl();dSecurity.SetOwner(user);dInfo.SetAccessControl(dSecurity);因此,如果我想授予自己所有權,但如果我想授予其他人所有權,則此代碼確實有效。該怎么辦?
查看完整描述

1 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

進一步搜索互聯網后,我在這個博客中找到了解決方案:https ://fixingitpro.com/2011/07/08/set-owner-with-powershell-%E2%80%9Cthe-security-identifier-is-not-允許成為此對象的所有者%E2%80%9D/

這很奇怪,我不知道為什么,但如果你使用 unc 路徑,它就會起作用。

UNC 名稱使用特定符號標識網絡資源。這些名稱由三部分組成:主機設備名稱、共享名稱和可選文件路徑。這三個元素使用反斜杠組合:\host-name\share-name\file_path

所以過去只為我自己工作的:D:\{folderName} 必須是:\\{IP or servername}\d$\{foldername}。如果您只測試完全相同的代碼而不是使用不同的路徑,它將起作用。如果有人可以向我解釋為什么路由回您自己的計算機確實可以通過正常路徑工作,那就太好了。

不要忘記以管理員身份運行您的應用程序


查看完整回答
反對 回復 2022-12-04
  • 1 回答
  • 0 關注
  • 103 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號