Powershell命令行开关参数需要冒号的处理是什么?
考虑Exchange 2010管理外壳cmdlet Move-ActiveMailboxDatabase.确认开关是a System.Management.Automation.SwitchParameter,必须像这样使用,
Move-ActiveMailboxDatabase -Confirm:$false
Run Code Online (Sandbox Code Playgroud)
没有冒号,命令无法识别不确认开关,如此
Move-ActiveMailboxDatabase -Confirm $false
Run Code Online (Sandbox Code Playgroud)
这是为什么?结肠在那里有什么不同?为什么Exchange2010似乎是我唯一注意到这种行为?
我浏览了Powershell in Action和Powershell 2.0,但没有找到任何关于这种语法的内容.然而,范围解析和.Net对象访问使用记录在这些书籍上.
我的谷歌发现了一篇文章声称它明确转发了切换参数值,但未能解释这是什么.
我需要在IE运行时启用/禁用IE代理设置.我有一个PowerShell脚本行来启用代理:
Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ProxyEnable -value 1
Run Code Online (Sandbox Code Playgroud)
或者这个禁用:
Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ProxyEnable -value 0
Run Code Online (Sandbox Code Playgroud)
上面的脚本工作,注册表项更新.但是,在我关闭所有打开的IE窗口并打开一个新窗口之前,IE不会获取该值.我需要已经打开/运行IE窗口来获取新设置.
有没有办法实现我想要的?
我的 PowerShell 技能还处于起步阶段,所以请耐心等待。我需要做的是从文本文件中获取 PC 列表并检查文件是否存在。一旦确定,我需要使用那些拥有该文件的 PC 并检查该文件的 FileVersion。最后,将其输出到 CSV 文件。
这是我所拥有的,我不确定这是否是我应该做的:
ForEach ($system in (Get-Content C:\scripts\systems.txt))
if ($exists in (Test-Path \\$system\c$\Windows\System32\file.dll))
{
Get-Command $exists | fl Path,FileVersion | Out-File c:\scripts\results.csv -Append
}
Run Code Online (Sandbox Code Playgroud) 我是学习 powershell 的新手,希望最终能进一步加深我在其他程序中的经验。目前正在修读 It 课程和我的 powershell 课程,lopps 已成为我的敌人。在我们必须制作的一个脚本中,我们需要创建一个脚本,该脚本将在单击按钮后添加数组中输入的数字,在这种情况下,该按钮为“0”。我尝试过各种脚本,但不断收到错误,任何帮助将不胜感激,并请记住我是新来的,所以现在的响应越简单越好,它将帮助我,如果可能的话解释为什么我的代码是错误的
Do {
$input = Read-Host 'Enter variety of numbers and press 0 to add them together'
if ($input -eq '0') {
$sum = [int]$sum + ',' + [int]$sum
Write-Host 'Sum of numbers entered' $sum
}
}
while ($input -ne '0')
Run Code Online (Sandbox Code Playgroud) 我正在尝试从 SQL Server 执行 Power Shell 脚本。每件事都对我有用,传递参数的静态值。但是当我尝试使用动态参数时,它不起作用。
以下是我正在尝试的声明:
declare @dteBatchDate as varchar(20)
set @dteBatchDate='2014-06-23 15:49:00'
EXEC xp_cmdshell 'powershell.exe -c "get-service | D:\Listing1.ps1 -@dteBatchDate"'
Run Code Online (Sandbox Code Playgroud)
我认为这是一个语法问题。任何机构都可以就此提出解决方案。
提前致谢
如何(使用哪个命令)向用户(service_account)授予对文件夹的权限(full_control)PowerShell?
谢谢你!
我试图icacls在我的中使用PowerShell,但它不起作用。