我试图找出 IIS_IUSRS 是否对目录下的某些文件夹具有完全控制权。
例子
我有 c:\inetpub\sites\
在 c:\inetpub\sites\ 下,我有大约 50 个站点文件夹
在每个文件夹中,我有 3 个文件夹,称为上传、媒体、请求。
我想知道 BUILTIN\IIS_IUSRS 是否有 FullControl
几个问题,并非所有网站都有上传、媒体、请求,有些网站可能只有上传、媒体或媒体、请求或只是媒体等。
我使用 Powershell 尝试过的几个命令。
Get-ChildItem -Recurse | Get-Acl | out-string -stream | select-string -pattern "media"
Get-ChildItem -Recurse | Get-Acl | out-string -stream | select-string -pattern "uploads"
Get-ChildItem -Recurse | Get-Acl | out-string -stream | select-string -pattern "requests"
Run Code Online (Sandbox Code Playgroud)
我想修改它以查找 BUILTIN\IIS_IUSRS 作为用户
如何重新配置 Hyper-V 虚拟机
我希望能够使用 Powershell 更改 VM 配置文件、检查点和虚拟硬盘位置。
我的 Google-FU 只指向我移动,我有大约 100 个要更改的虚拟机,我可以移动文件,我不介意一点停机时间,当为每个虚拟机完成向导时,每个虚拟机大约需要 5 到 15 分钟VM 和那些是较小的,我需要能够在 2 小时内完成所有 100。
如果我需要澄清,请告诉我。
==我被卡住的地方==
是的,我已经看到了该链接并查看了大多数命令,但是没有人做我正在寻找的。
这些文件总共大约 14 TB
大约 100 个 VM 群集在 7 个主机之间。共享存储是 EMC 旋转磁盘,我想将它们移动到 3Par ssd。
现在,我能够成功地做的是关闭虚拟机,移动文件,删除所有虚拟机并通过 powershell 重新创建它们,当我告诉我的 CTO 时,这可能是他关于狗屎小猫的唯一方法。
我想要做的不是移动虚拟机,而是重新配置它们,
在其他作品中能够改变:
到:
我希望能够使用 powershell 执行此操作,此外,我还需要能够对检查点、配置文件以及所有其他 Hyper-V VM 组件执行相同的操作。
我可以容忍大约 2 小时的停机时间,通过向导为所有 VM 执行 MOVE 不仅会磨损我的鼠标,而且需要大约 6 小时。
几个星期以来,我也一直在研究这个并测试不同的策略。
====再来一发====
我不想“移动”,我想要做的就是从 hyper-V 中更改设置,移动将花费很长时间,对我来说,通过网络复制文件并更新路径要快得多在 Hyper-V 中,我可以关闭机器。
我认为它不能完成?
我需要将 HKCU 键和值添加到特定 OU 中的所有机器、所有现有用户配置文件和默认配置文件。解决这个问题的最佳方法是什么?
我可以枚举并遍历所有 NTUSER.DAT,加载配置单元、添加密钥和卸载配置单元,但这似乎是一种笨拙的方法。
有人有更好的主意吗?我想编写此脚本(最好是 PowerShell)并尽可能推送更改,但组策略登录脚本也可以使用。
我正在尝试使用 powershell 卸载外部 USB 驱动器,但无法成功执行此操作。以下脚本是我使用的:
#get the Win32Volume object representing the volume I wish to eject
$drive = Get-WmiObject Win32_Volume -filter "DriveLetter = 'F:'"
#call dismount on that object there by ejecting drive
$drive.Dismount($Force , $Permanent)
Run Code Online (Sandbox Code Playgroud)
然后我检查我的计算机以检查驱动器是否已卸载,但事实并非如此。
布尔参数 $force 和 $permanent 已尝试使用不同的排列,但无济于事。当参数被切换时,卸载命令返回的退出代码会发生变化。
(0,0) = exit code 0
(0,1) = exit code 2
(1,0) = exit code 0
(1,1) = exit code 2
Run Code Online (Sandbox Code Playgroud)
退出代码 2 的文档表明存在安装点是它无法卸载的原因。虽然我试图卸载存在的唯一挂载点,但我不确定这个退出代码试图告诉我什么。
已经在网上搜索遇到类似问题的人后,我只找到了一个额外的命令可以尝试,如下所示:
# executed after the .Dismount() command
$drive.Put()
Run Code Online (Sandbox Code Playgroud)
这个额外的命令没有帮助。
我没有什么可以尝试的了,所以任何人都可以给我任何帮助将不胜感激。
我正在寻找可以执行以下操作的 Exchange 2010 命令:
这对我检查迁移并确保正确移动所有别名非常有帮助。
我正在尝试使用 Powershell 递归更改文件夹的所有者。
我基本上使用这个代码:
$acct1 = New-Object System.Security.Principal.NTAccount('DOMAIN\Enterprise Admins')
$profilefolder = Get-Item MyFolder
$acl1 = $profilefolder.GetAccessControl()
$acl1.SetOwner($acct1)
set-acl -aclobject $acl1 -path MyFolder
Run Code Online (Sandbox Code Playgroud)
这将更改第一级的所有权,但不会更改任何子文件夹或文件。有没有办法将范围扩展到 的所有内容MyFolder?
我希望在每个人都可以访问的 Windows 共享驱动器中创建一个“放置文件夹”。如果文件在文件夹中存放超过 X 天,我希望自动删除文件。
但是,似乎我发现的所有方法都可以使用文件的上次修改日期、上次访问时间或创建日期。
我正在尝试将此文件夹设为用户可以将文件放入其中以与某人共享的文件夹。如果有人将文件复制或移动到此处,我希望时钟在此时开始滴答作响。但是,除非有人实际修改了文件,否则文件的最后修改日期和创建日期不会更新。上次访问时间更新太频繁了……看来只要在windows资源管理器中打开一个目录就会更新上次访问时间。
有谁知道解决这个问题的方法?我认为每天对文件的散列进行编目,然后根据早于某个日期的散列使文件过期可能是一个解决方案......但获取文件的散列可能很耗时。
任何想法将不胜感激!
注意:
我已经在这里查看了很多答案……查看了文件服务器资源监视器、powershell 脚本、批处理脚本等。它们仍然使用上次访问时间、上次修改时间或创建时间……如上所述,它不符合上述需求。
我有一个第三方颁发的证书,我需要确保它在给定域中的所有目标上运行。有没有办法确保通过 DSC 安装此证书?
我目前正在尝试在 2 个不受信任的域之间启用 Windows 远程管理(特别是 Powershell 远程处理),但没有成功。
我的设置的简要说明:
这些域之间不存在信任。
我正在尝试从我的工作站(加入 domain1)使用以下命令创建 Powershell 远程连接:
参数 (
[参数(强制=$True)]
$服务器
)
$username = "域\用户"
$password = read-host "输入 $username 的密码" -AsSecureString
$credential = 新对象 System.Management.Automation.PSCredential($username, $password)
$session = New-PSSession "$server" -Authentication CredSSP -Credential $credential -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)
Enter-PSSession $session
这会导致以下错误消息:
New-PSSession : [computername.domain2.com] 连接到远程服务器 computername.domain2.com 失败并显示以下错误消息:WinRM 客户端
无法处理请求。计算机策略不允许将用户凭据委派给目标计算机,因为该计算机不受信任。目标的身份
如果您使用以下命令将 WSMAN 服务配置为使用有效证书,则可以验证计算机: winrm set winrm/config/service '@{CertificateThumbprint=""}' 或
您可以在事件查看器中检查指定无法创建以下 SPN 的事件:WSMAN/。如果您发现此事件,您可以使用手动创建 SPN
setspn.exe 。如果 SPN 存在,但 CredSSP … 这是我正在运行的命令示例:
PS C:\> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Unrestricted
PS C:\> Set-ExecutionPolicy Unrestricted -Scope CurrentUser
PS C:\> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Unrestricted
Run Code Online (Sandbox Code Playgroud)
我想将 设置CurrentUser为Unrestricted,但我似乎无法这样做。我按照此 MSDN 文档中的概述检查了适当的组策略,但没有找到任何已配置的内容。
关于如何设置这个的任何线索?
powershell ×10
windows ×3
batch ×1
dsc ×1
exchange ×1
file-sharing ×1
hard-drive ×1
hyper-v ×1
ntfs ×1
permissions ×1
scripting ×1
usb ×1
windows-10 ×1
winrm ×1