Questions tagged «powershell»

PowerShell是Microsoft的跨平台命令行和脚本实用程序。将此标签仅用于有关编写和执行PowerShell脚本的问题。跨平台版本PowerShell Core(Windows,macOS和Linux)特定的编程问题应标记为[powershell-core]。有关系统管理的问题应在“超级用户或服务器故障”时提出。

10
如何在Powershell中获取Parent的父目录?
因此,如果我有一个存储在变量中的目录,请说: $scriptPath = (Get-ScriptDirectory); 现在,我想找到两个父级目录。 我需要一个很好的方法: $parentPath = Split-Path -parent $scriptPath $rootPath = Split-Path -parent $parentPath 我可以用一行代码进入rootPath吗?

1
powershell中的&符号是什么意思?
$tool = 'C:\Program Files\gs\gs9.07\bin\gswin64c.exe' & $tool -q -dNOPAUSE -sDEVICE=tiffg4 $param -r300 $pdf.FullName -c quit 有人可以向我解释这是如何工作的吗?&符号在powershell中到底是什么意思?
94 powershell 

5
使用PowerShell远程复制文件
我正在编写要从服务器A运行的PowerShell脚本。我想连接到服务器B并将文件复制到服务器A作为备份。 如果不能这样做,那么我想从服务器A连接到服务器B并将文件复制到服务器B中的另一个目录。 我看到了Copy-Item命令,但看不到如何给它提供计算机名称。 我以为我可以做类似的事情 Copy-Item -ComputerName ServerB -Path C:\Programs\temp\test.txt -Destination (not sure how it would know to use ServerB or ServerA) 我怎样才能做到这一点?

14
如何测试对象是否具有特定属性?
如何测试对象是否具有特定属性? 赞赏我能做的... $members = Get-Member -InputObject $myobject 然后foreach通过$members,但是是否有功能测试对象是否具有特定属性? 附加信息: 问题是我要导入两种不同类型的CSV文件,一种包含两列,另一种包含三列。我无法使用“属性”检查支票,只能使用“ NoteProperty” ...不管有什么区别 if ( ($member.MemberType -eq "NoteProperty" ) -and ($member.Name -eq $propertyName) )

10
如何获取当前的PowerShell执行文件?
注意:PowerShell 1.0 我想获取当前正在执行的PowerShell文件名。也就是说,如果我像这样开始会话: powershell.exe .\myfile.ps1 我想获取字符串“。\ myfile.ps1”(或类似名称)。编辑:“ myfile.ps1”是可取的。 有任何想法吗?
92 powershell 

7
Powershell:如何阻止错误显示在脚本中?
例如,当我的PowerShell脚本尝试为不存在的服务器(在我的情况下为“ bla”)创建SQL Server对象时,PowerShell以红色显示许多PowerShell错误。 由于我的脚本检查了 $?此类调用之后,并显示和记录错误,因此我宁愿不要同时显示几行PowerShell错误。 如何停用那些为我的脚本显示的内容?




5
如何在调用Add-PSSnapin之前检查PowerShell管理单元是否已加载
我有一组PowerShell脚本,这些脚本有时一起运行,有时一次运行。每个脚本都需要加载特定的管理单元。 现在,每个脚本都Add-PSSnapin XYZ在开始时调用。 现在,如果我背靠背运行多个脚本,则随后的脚本会抛出: 由于添加了Windows PowerShell管理单元XYZ,因此无法添加它。验证管理单元的名称,然后重试。 在调用Add-PSSnapin之前,如何让每个脚本检查该管理单元是否已加载?
90 powershell 



7
如何将命令行参数传递给PowerShell ps1文件
多年以来,我一直在使用cmd/DOS/Windowsshell并将命令行参数传递给批处理文件。例如,我有一个文件,zuzu.bat并在其中,我的访问%1,%2等等。现在,我想,当我叫做同样的PowerShell脚本when I am in a Cmd.exe shell。我有一个脚本,xuxu.ps1(并且我已经将PS1添加到我的PATHEXT变量中,并与PowerShell关联了PS1文件)。但是无论我做什么,我似乎都无法从$args变量中得到任何东西。它的长度始终为0。 如果我在PowerShell外壳中,而不是cmd.exe,它可以工作(当然)。但是我还不够舒适,无法全职生活在PowerShell环境中。我不想打字powershell.exe -command xuxu.ps1 p1 p2 p3 p4。我要输入xuxu p1 p2 p3 p4。 这可能吗?如果可以,怎么办? 我无法上班的示例很简单,foo.ps1: Write-Host "Num Args:" $args.Length; foreach ($arg in $args) { Write-Host "Arg: $arg"; } 结果总是这样的: C:\temp> foo Num Args: 0 C:\temp> foo a b c d Num Args: 0 c:\temp>

3
PowerShell中使用的GetType,变量之间的区别
$a和之间有什么区别$b? $a = (Get-Date).DayOfWeek $b = Get-Date | Select-Object DayOfWeek 我试图检查 $a.GetType $b.GetType MemberType : Method OverloadDefinitions : {type GetType()} TypeNameOfValue : System.Management.Automation.PSMethod Value : type GetType() Name : GetType IsInstance : True MemberType : Method OverloadDefinitions : {type GetType()} TypeNameOfValue : System.Management.Automation.PSMethod Value : type GetType() Name : GetType …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.