问题标签 [powershell-4.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2358 浏览

.net - PowerShell 类型名称评估

不幸的是,Powershell ISE 无法为 .NET 类构造函数显示智能感知。我找到了一个可以获取构造函数列表的脚本:

它完美地工作

有没有办法使用变量而不是固定的类名?有人这样想:

我将以这种方式调用脚本:

现在它返回以下错误:

在 D:\LAB\POWERSHELL\CMD-LETS\GetConstructor.ps1:6 char:2 + [$class].GetConstructors() | + ~ '[' 后缺少类型名称。在 D:\LAB\POWERSHELL\CMD-LETS\GetConstructor.ps1:6 char:26 + [$class].GetConstructors() | + ~ 在 '(' 之后应该有一个表达式。+ CategoryInfo : ParserError: (:) [], ParseException + FullyQualifiedErrorId : MissingTypename

0 投票
0 回答
311 浏览

powershell - 无法从 Powershell 设置 DFS-R RemoveDeletedFiles 属性

使用包含在 Windows Server 2012 R2 中的 Powershell v4.0,我可以设置 DFS-R,除了一个细节。我无法让 RemoveDeletedFiles 属性变为 True。cmdlet 没有报告错误或警告,但似乎没有任何效果。目前我将设置保留为 False,但鉴于文件是通过构建生成的,我们将永远不会恢复它们。DFS-R 将这些文件移动到 ConflictAndDeleted 目录似乎是一种浪费。

Set-DfsrMembership -GroupName $groupName -RemoveDeletedFiles $true -FolderName $folderName -ComputerName $computerName

GroupName : XXX
ComputerName : XXXYYY
FolderName : 文件夹
GroupDomainName : name.tlc
ComputerDomainName : name.tlc
Identifier : zzz
DistinguishedName : CN=zzz,CN=yyy,CN=DFSR-LocalSettings,CN=XXXYYY,OU=ourOU,DC=name, DC=tlc
ContentPath : C:\Folder
PrimaryMember : True
StagingPath : C:\Folder\DfsrPrivate\Staging
StagingPathQuotaInMB : 4096
MinimumFileStagingSize : Size256KB
ConflictAndDeletedPath : C:\Folder\DfsrPrivate\ConflictAndDeleted
ConflictAndDeletedQuotaInMB : 4096
只读:假
RemoveDeletedFiles:假已
启用:真
DfsnPath:
状态:正常

任何指导将不胜感激。提前致谢。

0 投票
3 回答
4818 浏览

powershell - 在 Powershell 中.. Remove-ADOrganizationalUnit:访问被拒绝..我如何获得访问权限?

我对PowerShell知之甚少。我知道一些 cmdlet,但在涉及 Active Directory 时我不知所措。我正在使用带有 Windows Server 2012 R2 的测试计算机,我是管理员。

我使用 ISE 测试了以下命令:

它奏效了。然后我尝试添加一些命令,看看我是否可以扩展我的新知识,但他 ISE 告诉我有一个错误,因为已经有一个名为“Markedsforing”的组织单元。在我保存命令之前,我不认为 ISE 会继续运行该命令并创建该 OU。但就这样吧。

通过Get-OrganizationalUnit -Filter我得到一个ObjectGUID,我在我的下一个命令中使用它,在这里我使用了示例中显示的帮助命令之一Remove-OrganizationalUnit。我在 PowerShell 控制台中执行此操作。

我得到的答案如下:

我无法在 PowerShell 中弄清楚......也无法在图形界面中找到它。

问题1:我是否也必须-whatif在 ISE 中使用,以便 ISE 不会在我尝试完成命令之前继续执行操作?

问题2:我如何摆脱我的 OU 标记。在服务器中,我已经是管理员。

-ProtectedFromAccidentaldeletion $false下次我当然会省略。我也尝试过-Recursive

在使用这个网站之前,我希望能走得更远。任何帮助表示赞赏。

0 投票
1 回答
388 浏览

powershell - 在 powershell 中运行 PowerShell 代码有效,作为 .ps1 执行不

我编写了一些代码,试图从一个 Rest API 中获取一个值并将其发布到另一个。我将代码保存在 .ps1 文件中。如果我编辑它并运行它(或者只是将它复制并粘贴到一个空的 PowerShell 终端中),它会达到我的预期。但是,当我尝试直接运行相同的 .ps1 文件时,第二个 Invoke-RestMethod 出现错误。

不明白为什么我得到不同的结果并且错误消息没有给我很多线索。

我究竟做错了什么?

我正在使用的代码是(使用修改后的 API 密钥):

运行 .ps1 文件时收到的错误消息是:

Invoke-RestMethod : : At C:\NumerousBitcoinEur.ps1:13 char:1 + Invoke-RestMethod -Uri $baseuri -Body $data -Headers $headers -Method Post + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

我正在使用 PowerShell 4.0

0 投票
2 回答
3650 浏览

powershell - 在 Powershell 的 Rename-Computer 中输入 DomainCredential 的密码

我正在尝试使用 Powershell 脚本根据序列号重命名计算机。

到目前为止,我有 - Set-ExecutionPolicy -Unrestricted $name = (Get-WmiObject win32_bios).SerialNumber.Trim() Rename-Computer -NewName $name -DomainCredential \

我不希望这个提示,因为我有几千个系统要映像,我希望这个只是静默重命名,然后 MDT 2012 Update 1 将重新启动。

在 powershell 和脚本方面,我是一个 n00b,我花了一周的大部分时间试图弄清楚这一点。我可以毫无问题地让重命名在本地工作,但我希望我能得到一些帮助,默默地做这件事。

我想我的问题是,如何在我的 powershell 脚本中输入密码,这样我就不必在工作站输入密码了?

0 投票
4 回答
16072 浏览

powershell - 在 PowerShell 中 - 如何同时创建父 OU 和子 OU?

我使用的是 Windows Server 2012 R2,我是管理员。我的 PowerShell 版本是 4.0。我的域是 DC=testdomene,DC=local。

我想完成以下工作:1)创建父OU 2)同时创建一些子OU

我可以在 PowerShell 中手动执行此操作,但我想使用 PowerShell 的主要好处之一是以某种方式自动执行此操作。“Help New-ADOrganizationalUnit -examples”没有给我任何同时涉及到父和子 OU 的答案。

创建父 OU:New-ADOrganizationalUnit -Name "US" -Path "DC=testdomene,DC=local" -description Parent -ProtectedFromAccidentalDeletion $false

创建第一个子 OU:New-ADOrganizationalUnit -Name "Nevada" -Path "OU=US,DC=testdomene,DC=local" -description Child -ProtectedFromAccidentalDeletion $false

创建第二个子 OU:New-ADOrganizationalUnit -Name "Texas" -Path "OU=US,DC=testdomene,DC=local" -description Child -ProtectedFromAccidentalDeletion $false

这给了我 OU US,与孩子 OU 的内华达州和德克萨斯州。我将如何同时做到这一点?任何帮助表示赞赏。

0 投票
3 回答
1553 浏览

powershell - Powershell:“Help Get-Content -Full”缺少一些参数(原始、流、编码)

我的问题与Hey Scripting Guy 的博客文章有关!由 Windows PowerShell (Azure) 团队的成员 June Blender 编写。

“要从 JSON 文件中获取 JSON 字符串,请使用 Get-Content cmdlet 及其 Raw 参数。”

“Raw 参数告诉 Get-Content 忽略换行符并返回单个字符串。”

认为这看起来很方便 - 我想了解有关此参数的更多信息,我键入以下命令并收到意外结果:

在 ISE 中,intellisense 提供“raw”作为“Get-Content”的参数,而在正常的 shell 中,tab-complete 告诉我这是一个真实的参数。我似乎无法找到任何解释其用法的文档。“Help Get-Content -Online”也不返回任何内容。

Get-Command 确认参数存在,不是“通用参数”集的成员,并且存在于我的 PowerShell 版本中。我的问题:

为什么“Get-Content”的某些参数在我的帮助文件或在线中不可见,但仍然可以使用,特别是 -raw、-stream 和 -encoding。是否有其他 Cmdlet 的类似隐藏参数列表?

我在工作组环境中的 Windows 8.1 上运行 PowerShell v4。谢谢你的帮助。

更新:

0 投票
1 回答
70 浏览

sql-server - Powershell 要求

我有一个要求。我们有一个 FTP 服务器,其中的数据每天都会变化。大约有 9 个文件。每个文件都是 MS SQL ETL 的数据。现在我想做的是。一旦文件到达 FTP 位置。Powershell 应该读取文件的修改日期并在 SQL Server 中触发作业。用powershell可以吗?

所涉及的挑战

  1. 受技术限制(只能使用powershell和TSQL)
  2. 旧文件(第 1 天)数据。要完全替换每个文件,需要 15 分钟,然后才不会触发该作业。

需要您对此的投入。

0 投票
4 回答
10208 浏览

c# - Powershell v4 不自动导入模块

我正在使用Microsoft PowerShell v4

我在Visual Studio 2012中开发了一个针对.NET Framework 4的C#项目,其中包含一些和. 我可以调试它们,一切正常。CmdletSnapin

我已经创建了路径C:\PowerShell\Modules\并将其添加到PSModulePath环境变量中。

我把 rMySnapIn.dll放到了 pathC:\PowerShell\Modules\MySnapIn上。

我希望模块会自动加载,因此我可以使用新的 cmdlet,但它们不是:模块未加载。我必须写Import-Module MySnapin才能加载它。

如何让模块自动加载?

0 投票
1 回答
3445 浏览

powershell - Powershell DSC 当前配置的执行上下文是什么?

我正在尝试通过 DSC 部署 powershell 配置文件。配置应将 .ps1 文件从网络共享复制到本地路径。

运行脚本失败,并出现以下错误SourcePath must be accessible for current configuration。但是可以从控制台访问此路径,那么在 dsc 配置期间使用什么用户/上下文?

这是脚本


在@ravikanth 回复后编辑


并收到错误(无效参数