Tag: powershell

如何使用winrm将多台计算机添加到可信主机列表中

要从远程机器上运行机器上的powershell命令,我们必须将远程机器添加到主机的可信主机列表中。 我正在使用以下命令将计算机A添加到计算机B的受信任主机: winrm set winrm/config/client '@{TrustedHosts="machineA"}' 如何添加更多的机器说机C,机D到机器B的可信主机列表?

在PowerShell中连接一个variables和一个没有空格的string文字

我怎么能写一个variables到控制台没有空格后? 我尝试时遇到问题: $MyVariable = "Some text" Write-Host "$MyVariableNOSPACES" 我想要以下输出: Some textNOSPACES

在PowerShell中将数组追加到数组中

我想在PowerShell中编程使用位于磁盘上的CSV文件build立一个multidimensional array。 我一直在导入数组到一个临时variables,然后将数组附加到数组。 而不是一个数组数组,我得到了一个总数为一行的数组。 我用更小的数组解决了这个问题,结果如下: $array1 = "11","12","13" $array2 = "21","22","23" $array3 = "31","32","33" $arrayAll = $array1, $array2, $array3 $arrayAll.Count # returns 3 $arrayAll = @(); $arrayAll += $array1 $arrayAll += $array2 $arrayAll += $array3 $arrayAll.count # returns 9 构build数组的第一种方法工作,但我需要能够使用第二种方法。 我该如何解决?

使用PowerShell V2的Send-MailMessage通过gmail发送邮件

我试图找出如何使用PowerShell V2的Send-MailMessage与Gmail。 这是我迄今为止。 $ss = new-object Security.SecureString foreach ($ch in "password".ToCharArray()) { $ss.AppendChar($ch) } $cred = new-object Management.Automation.PSCredential "uid@domain.com", $ss Send-MailMessage -SmtpServer smtp.gmail.com -UseSsl -Credential $cred -Body… 我得到以下错误 Send-MailMessage : The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at At foo.ps1:18 […]

如何在PowerShell中断行?

我是[ PowerShell完全新 ],并在一个循环中串联一个string,如果发生特殊情况,我应该插入一个换行符…我怎么能做到这一点? 基本上寻找相当于\n 。 $str = "" foreach($line in $file){ if($line -Match $review){ #Special condition $str += ANSWER #looking for ANSWER } #code….. } 到目前为止,我尝试过 "\n" '\n' "\N" '\N' "\r" '\r' "\R" '\R' '`n' '`r' '-n' '-r'

Web.Config在Microsoft MSBuild之外转换?

是否有可能在MSBuild之外使用Microsoft的XML文档转换来准备web.configs? 我想使用PowerShell来做这些转换,而不必通过MSBuild引擎运行。 如果微软使用标准的XSLT,在PowerShell中很容易。 从我能告诉我必须使用他们的C:\ Program Files文件(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.Tasks.dll需要一个生成引擎。 谢谢

删除目录,不pipe260个字符的限制

我正在编写一个简单的脚本来在一定天数之后删除USMT迁移文件夹: ## Server List ## $servers = "Delorean","Adelaide","Brisbane","Melbourne","Newcastle","Perth" ## Number of days (-3 is over three days ago) ## $days = -3 $timelimit = (Get-Date).AddDays($days) foreach ($server in $servers) { $deletedusers = @() $folders = Get-ChildItem \\$server\USMT$ | where {$_.psiscontainer} write-host "Checking server : " $server foreach ($folder in $folders) { If ($folder.LastWriteTime -lt $timelimit […]

如何创build永久的PowerShell别名

我想创build一个在closures当前Powershell会话后不会过期的cmdlet的alias ,假设我有这个别名: C:\Users\Aymen> New-Alias Goto Set-Location 这完全创build了Goto别名,但是即使在closures当前会话之后,我也想使用它,我该如何实现这一点。 注意: PowerShell帮助系统build议我可以导出我创build的别名,并在下次打开新会话时导入它们,实际上这不是我正在查找的内容,有没有一种直接明确的方法可以在我之后保留一个别名通过不同的会话创build它

如何获取PowerShell脚本的文件系统位置?

我有一个位于D:\temp的PowerShell脚本。 当我运行这个脚本时,我想要列出文件的当前位置。 我该怎么做呢? 例如,这段代码将在DOSbatch file中完成; 我试图将其转换为PowerShell脚本… FOR /f "usebackq tokens=*" %%a IN ('%0') DO SET this_cmds_dir=%%~dpa CD /d "%this_cmds_dir%"

通过命令行将variables传递给PowerShell脚本

我是新来的powershell,并试图教自己的基本知识。 我需要编写一个ps脚本来parsing文件,这并不是太困难。 现在我想改变它来传递一个variables给脚本。 该variables将是parsingstring。 现在,variables总是1个字,而不是一组字或多个字。 这看起来很简单,但对我来说是一个问题。 这是我的简单代码: $a = Read-Host Write-Host $a 当我从命令行运行脚本时,variables传递不起作用: .\test.ps1 hello .\test.ps1 "hello" .\test.ps1 -a "hello" .\test.ps1 -a hello .\test.ps1 -File "hello" 正如你所看到的,我已经尝试了很多没有成功的方法,剧本将价值输出。 该脚本确实运行,并等待我input一个值,当我这样做,它的价值回声。 我只是想要它输出我传入的值,我错过了什么微乎其微的东西? 谢谢。