在目前的WMF5版本中,我尝试使用Invoke-DSCResource来调用DSC资源,如下所示: $destinationPath="$env:SystemDrive\DirectAccess.txt" $fileContents="This file is create by Invoke-DscResource" $result = Invoke-DscResource -Name File -Method Test -Property @{ DestinationPath=$destinationPath Contents=$fileContents } -Verbose $result | fl * 但是,我要求为“文件”资源的模块名称。 执行Get-DscResource文件列出了dsc资源,但“模块”属性为空。 我怎样才能找出哪个模块传递Invoke-DscResource? “文件”资源真正在哪里(在哪个模块中)?
在每次备份之后使用Windows Server Backup时,服务器会在备份文件夹的重复数据删除列表中进行排除。 有没有办法阻止这种行为? 如果没有,有没有办法让Powershell删除排除? 编辑:Powershell命令是; Set-DedupVolume -Volume Y: -ExcludeFolder {} 如果可能,我宁愿防止这种行为。
前一段时间,我不得不configuration一个带有存储空间和2个虚拟磁盘的W2012 R2 essentials服务器。 由于真正的磁盘数量和当时还没有最终确定的磁盘本身,我不得不求助于configuration虚拟磁盘的powershell方式。 目的是创build两个虚拟磁盘,一个具有奇偶校验和三列,另一个具有镜像布局(无需特殊要求 – 使用服务器pipe理器创build),都是精简configuration。 在最后的设置中将会有5个磁盘2 * 8T,1 * 4T和2 * 3T。 在创build第一个虚拟磁盘时,2 * 8T,1 * 4T和其他3个磁盘(稍后应该删除的较小的磁盘)在可用的位置。 因为我以为我知道3列会给我最大的空间(2 * 8T和第三个其余的磁盘),我指定powershell命令使用3列和3个第一个磁盘使用(默认存储空间会使用尽可能多的列,这将限制以后扩展 – 在拾取之前添加更多的磁盘)。 一切似乎工作正常,但是在删除较小的磁盘并添加2 * 3T磁盘后,它们由镜像虚拟磁盘拾取,而不是由奇偶校验虚拟磁盘拾取。 作为一个侧面说明,我有另一台W2012 R2服务器进行类似的设置,但3列奇偶校验磁盘创build(由默认工具,而不是PowerShell),当只有3个磁盘在池中(2大和1小磁盘)。 后来又添加了一个额外的磁盘,这个磁盘被虚拟磁盘直接拾取,显着扩大了空间。 问题: 什么是限制2 3T磁盘在虚拟磁盘中的使用,是因为虚拟磁盘是由powershell命令创build的,指定3个磁盘在那个时候使用,还是因为我需要另一个磁盘来满足3列约束(注意前面的段落,这似乎不是这种情况)? 是否有PowerShell命令或其他工具,可以解决我的问题(如果有可能不重新创build磁盘)获得每列至less8T(8T – 8T – 4 + 3 + 3T)3列奇偶校验磁盘? 编辑20160606:我做了一些其他的testing,在3列PowerShell中创build一个新的虚拟磁盘,没有指定要使用的磁盘,正如我预计软件不会明智地select未来的扩展:它select了2个最小的磁盘和一个较大的磁盘可能会限制以后使用可用磁盘的扩展(我可以replace磁盘,但是磁盘空间和可用的Sata端口是可连接的磁盘数量的当前限制)
该脚本应该从多个OU中获取用户,并将用户分配给一个variables,然后根据该variables的用户,并根据30天以上的最后logindate对每个用户进行筛选。 然后它会导出到一个CSV文件,并提供一些我想要的信息。 问题是 ,当我到达foreach部分时,它将search整个目录,并且不会使用我提供的variables中的用户。 任何批评也非常感激。 $30days = (get-date).adddays(-30) $Users1 = Get-ADUser -SearchBase 'OU=Users,OU=US-Location,OU=Americas,DC=Domain,DC=Domain,DC=com' -LdapFilter '(UserPrincipalName=*)(extensionAttribute9=*)' $Users2 = Get-ADUser -SearchBase 'OU=Users-Remote,OU=US-Location,OU=Americas,DC=Domain,DC=Domain,DC=com' -LdapFilter '(UserPrincipalName=*)(extensionAttribute9=*)' $Users3 = Get-ADUser -SearchBase 'OU=Contractors,OU=US-Location,OU=Americas,DC=Domain,DC=Domain,DC=com' -LdapFilter '(UserPrincipalName=*)(extensionAttribute9=*)' $Users4 = Get-ADUser -SearchBase 'OU=Temps,OU=US-Location,OU=Americas,DC=Domain,DC=Domain,DC=com' -LdapFilter '(UserPrincipalName=*)(extensionAttribute9=*)' $Users5 = Get-ADUser -SearchBase 'OU=Users,OU=US-Location,OU=Americas,DC=Domain,DC=Domain,DC=com' -LdapFilter '(UserPrincipalName=*)(extensionAttribute9=*)' $Users6 = Get-ADUser -SearchBase 'OU=Users,OU=US-Location,OU=Americas,DC=Domain,DC=Domain,DC=com' -LdapFilter '(UserPrincipalName=*)(extensionAttribute9=*)' $Users = $Users1,$Users2,$Users3,$Users4,$Users5,$Users6 $useraccountsover30days = […]
所以我想指定一个用户名并返回计算机名称。 当我运行这个,它告诉我,我的$computers obj是null 。 为什么$computers = Get-ADComputer | where {$_.accountdisabled -eq $false} $computers = Get-ADComputer | where {$_.accountdisabled -eq $false}返回null ? 我的脚本到目前为止是这样的: Function Get-Username{ $Global:Username = read-Host "Enter a username" if ($Username -eq $null){ Write-Host "Username can't be blank. Enter username" Get-Username } $UserCheck = Get-ADUser -Filter 'Name -like $Username' | FT Name, SamAccountName -A […]
我试图设置TFS发布pipe理部署到IIS服务器设置为共享configuration。 但是,部署实际运行时,出现以下错误: ##[debug]System.Exception: Filename: \\?\UNC\storage\webfarm\config\applicationHost.config Error: Cannot write configuration file due to insufficient permissions ##[error]Filename: \\?\UNC\storage\webfarm\config\applicationHost.config ##[error]Error: Cannot write configuration file due to insufficient permissions 用于运行DSC脚本的用户具有修改applicationhost.config的权限。 这是一个红鲱鱼错误,还是我们错过了什么? 更新:我已经testing了将共享configuration移动到Windows服务器共享,以确保它不是一个SAN问题,但是,导致了一个不同的错误: Cannot commit configuration changes because the file has changed on disk 如果其他脚本尝试同时执行某些操作,我以前遇到过这个问题,但是我已经将configuration切换到了创build应用程序的最低限度。 唯一一次能够实现它的是打破共享configuration并返回本地。 这是不理想的,因为我们在农场configuration中运行。
我正在寻找一种方法来查找没有父进程运行的进程(孤立进程)。 我试图做到这一点使用win32_process。 我有查询,返回所需的属性,它的比较im挣扎着: gwmi win32_process -ComputerName $hostname | select ProcessID,ParentProcessID,@{l="Username";e={$_.getowner().user}} | where{$_.Username -like $username} 我已经尝试了对两个数组的比较对象-includeequal,并得到了绝大多数的结果 – 太多了,所以我怀疑操作员的真相给予我喂它的数组。 我认为在diff命令中增加了一些值,但是除了提供数组之外,我还不熟悉这个用法。 有没有人有差异的命令和/或其他解决scheme的经验? 最终目标是比较或区分上述wmi调用的两个数组: $proc_all = gwmi win32_process -ComputerName $hostname | select ProcessID,ParentProcessID,@{l="Username";e={$_.getowner().user}} | where{$_.Username -like $username} $sub_procs = $proc_all.Processid #ARRAY1 $par_proces = $proc_all.ParentProcessId #ARRAY2 然后只返回那些不出现在两个(孤儿)的。 提前致谢!
我们已经安装了AWS PowerShell的工具,使用下面给出的版本。 当我们尝试运行AWS命令时,我们得到如下所示的连接错误: —- AWS Powershell version— PS C:\Users> Get-AWSPowerShellVersion AWS Tools for Windows PowerShell Version 2.3.8.1 Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. Amazon Web Services SDK for .NET Version 2.3.8.1 Copyright 2009-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. — PSVersion 4.0 —— 。 — Error — ConnectionError: ('Connection […]
我希望下面的一切都有道理,任何帮助将不胜感激。 我试图创build一个脚本,将通知我,如果Windows服务器备份成功或如果失败的服务器列表。 该脚本设置为使用任务计划程序在特定时间运行。 如果我使用pipe理员帐户,脚本运行良好。 但是,我试图用权限有限的用户帐户运行该脚本,并且失败。 如果用户帐户是“事件日志读取器”和“远程pipe理用户”的一部分,则脚本将无法正常运行,并且事件查看器日志中存在错误 – 事件ID 1016,Source DistributedCOM 特定于应用程序的权限设置不授予对CLSID {37734C4D-FFA8-4139-9AAC-60FBE55BF3DF}和APPID {C3B65D83-FB15-4E3F-BA04-097D1E2B5AC1}的COM服务器应用程序的本地激活权限给用户“我的用户帐户“ 但是,如果我将用户帐户添加到“备份操作员”组和“远程pipe理用户”组,它运行良好。 我有点困惑,为什么会发生这种情况。 我的印象是“事件日志阅读器”组让你阅读事件ID。 以下是我的Poweshell脚本。 我从脚本 – http://blog.jocha.se/tech/wbadmin-backup-mail-report – 我做了一些改变。 Add-PSSnapin Windows.ServerBackup -ErrorAction SilentlyContinue ####################################### #——– Variables to change ——–# $Servers = New-PSSession -Computername server1,server2 Invoke-Command -Session $Servers { # Set your Company name $Company = "xxxx" # Set the recipient/sender email-address $MailMessageTo […]
我试图按照下一个教程的所有说明: https : //docs.asp.net/en/latest/tutorials/nano-server.html#id9 ,但出现了一个问题… 似乎是,dotnet核心未安装成功,因为如果要运行任何适当的命令,如: dotnet new , dotnet restore我将得到下一个错误(在Nano服务器上): [192.168.10.8]:PS C:\ Temp> dotnet publish dotnet:你的意思是运行dotnet SDK命令? 请从以下位置安装dotnet SDK:+ CategoryInfo:NotSpecified :(您是否指… tnet SDK来自:: String)[],RemoteException + FullyQualifiedErrorId:NativeCommandError http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409 我已经通过下一个Power-Shell脚本安装了dotnet核心: http : //pastebin.com/nwaLcQam 所以,我无法在纳米服务器上运行编译的ASP.NET Web API。 我该怎么办才能解决这个问题?