Articles of PowerShell

在重复数据删除卷上,如何使用Measure-DedupFileMetadata确定文件夹中使用的空间

我想了解Measure-DedupFileMetadata是如何工作的,所以我可以recursion地通过一些文件夹来报告实际使用了多less空间。 我不知道如何解释输出。 如果我正确理解文档,DedupDistinctSize应该告诉我,如果我删除这些文件(垃圾回收之后),释放多less空间。 这些数字对于我的大部分文件夹都显示正确。 但是在没有重复数据删除的文件夹上,它显示0。 我也不知道如何理解SizeOnDisk信息。 这是两个文件夹的输出: Path : {E:\veeam\folder1} Volume : E: VolumeId : \\?\Volume{77da8d6d-1416-4d2a-8c85-75c91f980398} FilesCount : 19 OptimizedFilesCount : 3 Size : 2.38 TB SizeOnDisk : 1.81 TB DedupSize : 491.38 GB DedupChunkCount : 6786488 DedupDistinctSize : 475.59 GB DedupDistinctChunkCount : 6561011 Path : {E:\veeam\folder2} Volume : E: VolumeId : \\?\Volume{77da8d6d-1416-4d2a-8c85-75c91f980398} FilesCount : […]

在Server 2016中pipe理DNS策略所需的最低权限是多less?

我正在实施DNS策略,为某些任务编写PowerShell脚本,当然,我不想将这些任务安排为域pipe理员; 我想使用最less特权的服务帐户。 事情是,我似乎无法弄清楚需要什么,以及在哪里。 AD包含DnsAdmins组,但这还不够。 DNS策略组件 DNS策略主要有3个新要素: 区域范围 客户端子网 政策 区域范围是区域本身的一部分,所以在集成了AD的区域中,它们将与该区域一起复制。 但客户端子网和策略不存储在AD中,因此它们不会被复制,并且没有目录分区,例如您可以检查或设置权限。 示例问题 试图创build一个客户端子网条目,与域pipe理员帐户正常工作,给我一个关于检查内部exception详细信息的神秘错误。 这样做给我一个WIN32 1011错误: The configuration registry key could not be opened. 谷歌search错误是相当无用的,它永远不会说它是哪个registry项。 这是一个正常的域用户帐户,但是是DnsAdmins的成员,没有其他特殊的权限。 该帐户可以读取 DNS客户端子网就好了。 但是添加一个失败。 相比之下,不是DnsAdmins成员的域用户无法读取客户端子网条目(权限被拒绝)。 码 # Read a Client Subnet Get-DnsServerClientSubnet -cn MyDC -Name 'My_CS_Entry' # Add a Client Subnet Add-DnsServerClientSubnet -cn MyDC -Name 'My_CS_Entry' 所以缺less任何文档,我不知道如何正确地委托这个权限。

创build要禁用的计算机列表

我一直负责自动化我们禁用/删除旧电脑。 不幸的是,我发现我为这项任务提供的数据有很多错误,而且我遇到了validation它的问题。 这里的要求是计算机账号必须存在,不能重复,不能是服务器的操作系统,电脑的账号密码在最近10天内不能重置。 我已经能够单独validation所有这些,但是当我尝试将validation结合到一个脚本中时,我失败了。 具体来说,我无法通过重复的数据步骤。 这里是代码: $file = "D:\Transcripts\ADPCverify\" + (get-date -Format yyyymmdd-hhmmss) + ".txt" start-transcript -LiteralPath $file $date = Get-Date $computers = Get-Content D:\Content\ADPCverify\unverified.txt | sort-object -unique $list = Get-Content D:\Content\ADPCDisable\computers.txt $name = 'null' ForEach($computer in $computers){ $prevname = $name $name = (Get-ADComputer -Identity $computer -Server server).name $PCObject = Get-ADComputer -Identity $computer -Server server […]

如何访问/获取2012r2上的Powershell DNS服务器模块?

我正在使用Server 2012R2服务器。 我想在PowerShell的dns服务器模块中使用像get-dnsserverresourcerecord dnsserverresourcerecord这样get-dnsserverresourcerecord 。 它在ISE或模块列表中不可用。 我有PowerShell版本4.0。 我在服务器2012r2上运行。 我在哪里可以find这个模块? 是否可以下载或启用这个模块? 我看了很多文档和post,都是用这样的方式写的,表明模块应该被安装。 我的计划是使用此服务器对运行DNS服务器的另一台2012r2服务器执行DNS命令。 该服务器本身没有安装DNS服务器。 谢谢。

Windows 2008 R1上的IISpipe理PowerShell Cmdlet

我正尝试在Windows 2008 R1上使用IISpipe理PowerShell Cmdlet。 根据这篇文章,你需要加载这些Cmdlet。 但是,Windows 2008 R1中不存在加载cmdlet的选项,如何加载这些或我需要做什么?

如何从OS命令行启动PowerShell脚本?

我有一个PowerShell脚本来build立我的项目文件,我想有能力从我的文件pipe理器的命令行运行它(可能,做一个这个脚本的快捷方式,所以我可以开始从我的桌面生成) 任何方式来做到这一点?

通过Powershell创buildnetworking打印机

我正在尝试使用Powershell脚本创buildnetworking打印机。 下面的脚本创build端口没有任何问题,但不会创build队列。 你能否确认这个脚本是否能在Windows Server 2008上运行? (注意,您需要安装驱动程序才能正常工作)。 function CreatePrinterPort { Param ( [string]$IPAddress ) $port = [wmiclass]"Win32_TcpIpPrinterPort" $newPort = $port.CreateInstance() $newport.Name= "IP_$IPAddress" $newport.SNMPEnabled=$false $newport.Protocol=1 $newport.HostAddress= $IPAddress Write-Host "Creating Port $ipaddress" -foregroundcolor "green" $newport.Put() } function CreatePrinter { Param ( [string]$PrinterName, [string]$DriverName, [string]$IPAddress, [string]$Location, [string]$Comment ) $print = [WMICLASS]"Win32_Printer" $newprinter = $print.createInstance() $newprinter.Drivername = $DriverName $newprinter.PortName = […]

在PowerShell中获取iis7日志目录

我相信这很容易,但我找不到答案。 我正在设置一个进程来在日志logging文件夹上运行几个任务。 很明显,我可以手动创build一个variables与日志目录,但这不会改变机器。 我想能够使用一些通用的过程。 我现在所拥有的: $iisLogDir = "D:\inetpub\Logs\LogFiles" $now=get-date $daysOld=31 get-childitem $iisLogDir -recurse | where { !$_.PSIsContainer -and ($_.lastWriteTime -le $now.addDays(-$daysOld)) } | remove-item -whatif 谢谢,这些是2008R2机器。

ADFS 2.0 Farm – 如何执行即时同步

我们在Windows 2008服务器上使用ADFS 2.0,它在服务器场中,默认轮询间隔为5分钟。 今晚我们正在做一个改变,宁愿立即同步,而不是等待另一个人更新,尤其是我们可能会做出多个改变。 本Technet文章提到我可以更改轮询间隔或在我的服务器之间立即同步: http://technet.microsoft.com/en-us/library/ee913581%28WS.10%29.aspx 我检查了ADFS的powershell commandlets,我似乎只能find一个让我设置轮询间隔,但不执行1次即时同步 search通常的嫌疑人,但只是找不到一个ADFS-SyncMyStuffNow命令… 任何人?

什么是恢复SQL数据库最好的PowerShell脚本?

要恢复一个SQL Server 2008数据库,我只能在powershell中做这样的事情: ./restore.ps1 DatabaseName.bak 然后,powershell脚本会按照惯例将其恢复到名称为“DatabaseName”的数据库。 它会断开连接到这个数据库的任何用户,以便它可以恢复数据库。 它会将mdf和ldf存储在默认位置。 这将主要是在我个人的机器上进行开发。 只是一个快速的方法来恢复数据库。 任何人都有这样的脚本? 谢谢