javascript

java

python

c#

node.js

reactjs

android

php

c++

html

jquery

ruby-on-rails

css

git

ios

.net

sql

c

string

<img src="//i.stack.imgur.com/bk9VA.png" alt="" class="sponsor-tag-img" width="18" height="16"/>android

将参数从批处理文件传递到PowerShell脚本

在我的批处理文件中,我像这样调用PowerShell脚本:

powershell.exe "& "G:\Karan\PowerShell_Scripts\START_DEV.ps1"

现在,我想将字符串参数传递给START_DEV.ps1.假设参数为w=Dev

我怎样才能做到这一点?

trans by 2019-09-16T19:32:01Z

使用PowerShell脚本执行EXE文件

我正在尝试使用PowerShell脚本执行EXE文件。 如果我使用命令行它没有问题(首先我提供可执行文件的名称和一系列参数来调用它):

"C:\Program Files\Automated QA\TestExecute 8\Bin\TestExecute.exe" C:\temp\TestProject1\TestProject1.pjs /run /exit /SilentMode

但是在脚本中执行完全相同的操作会返回错误:

术语“C:\ Program Files \ Automated”   QA \ TestExecute 8 \ Bin \ TestExecute.exe“  C:\ TEMP \ TestProject1\ TestProject1.pjs   / run / exit / SilentMode'不是   被识别为cmdlet的名称,   功能,脚本文件或可操作   程序。 检查拼写   名称,或者如果包含路径,   验证路径是否正确   再试一次。

(我使用“&”运算符调用了命令。)

我该如何解决这个问题?

trans by 2019-09-12T11:13:59Z

当一个调用只返回一个对象时,如何强制Powershell返回一个数组呢?

我正在使用Powershell在Web服务器上设置IIS绑定,并且遇到以下代码的问题:

$serverIps = gwmi Win32_NetworkAdapterConfiguration 
    | Where { $_.IPAddress } 
    | Select -Expand IPAddress 
    | Where { $_ -like '*.*.*.*' } 
    | Sort

if ($serverIps.length -le 1) {
    Write-Host "You need at least 2 IP addresses for this to work!"
    exit
}

$primaryIp = $serverIps[0]
$secondaryIp = $serverIps[1]

如果服务器上有2个以上的IP,那么很好 - Powershell返回一个数组,我可以查询数组长度并提取第一个和第二个地址就好了。

问题是 - 如果只有一个IP,Powershell不返回单元素数组,它返回IP地址(作为字符串,如“192.168.0.100”) - 该字符串具有.length属性,它大于1, 所以测试通过,我最后得到字符串中的前两个字符,而不是集合中的前两个IP地址。

如何强制Powershell返回单元素集合,或者确定返回的“thing”是对象而不是集合?

trans by 2019-09-12T10:05:47Z

如何在PowerShell中逐行处理文件作为流

我正在使用一些多GB的文本文件,并希望使用PowerShell对它们进行一些流处理。 这很简单,只需解析每一行并提取一些数据,然后将其存储在数据库中。

不幸的是,-LineBufferSize似乎在管道的这个阶段保持整个行集在内存中。 它的速度也非常慢,需要花费很长时间才能完全阅读。

所以我的问题是两部分:

  1. 如何让它逐行处理流,而不是将整个事物缓存在内存中? 我想避免为此目的使用几次RAM。
  2. 如何让它运行得更快? PowerShell迭代-LineBufferSize似乎比C#脚本慢100倍。

我希望我在这里做一些愚蠢的事,比如错过-LineBufferSize参数或其他东西......

trans by 2019-09-12T07:58:20Z

在Powersh中打印对象属性

在交互式控制台中工作时,如果我定义一个新对象并为其分配一些属性值,如下所示:

$obj = New-Object System.String
$obj | Add-Member NoteProperty SomeProperty "Test"

然后,当我在交互式窗口中键入我的变量名称时,Powershell为我提供了对象属性和值的摘要:

PS C:\demo> $obj
SomeProperty                                                                                                                                                                                  
------------                                                                                                                                                                                  
Test

我基本上想要这样做,但是从脚本中的函数内部做。 该函数创建一个对象并设置一些属性值,我希望它在返回之前将对象值的摘要打印到Powershell窗口。 我尝试在函数中使用Write-Host:

Write-Host $obj

但这只是输出对象的类型而不是摘要:

System.Object

如何让我的函数输出对象属性值的摘要到Powershell窗口?

trans by 2019-09-11T11:43:12Z

在权力中无效合并

在PowerShell中是否存在空合并运算符?

我希望能够在powershell中执行这些c#命令:

var s = myval ?? "new value";
var x = myval == null ? "" : otherval;
trans by 2019-09-04T13:51:20Z

命令行 - 使用命令行参数从C#执行PowerShell脚本

我需要在C#中执行PowerShell脚本。 该脚本需要命令行参数。

这是我到目前为止所做的:

RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();

Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
runspace.Open();

RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);

Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(scriptFile);

// Execute PowerShell script
results = pipeline.Invoke();

scriptFile包含类似“C:\ Program Files \ MyProgram \ Whatever.ps1”的内容。

该脚本使用命令行参数,例如“-key Value”,其中Value可以是类似于也可能包含空格的路径。

我不这样做。 有谁知道如何从C#中将命令行参数传递给PowerShell脚本并确保空格没有问题?

trans by 2019-09-01T14:36:37Z

转义 - PowerShell脚本不接受$(美元)符号

我试图使用PowerShell脚本打开SQL数据连接,我的密码包含$标志:

$cn = new-object system.data.SqlClient.SqlConnection("Data Source=DBNAME;Initial Catalog=Catagory;User ID=User;Password=pass$word;")

当我尝试打开连接时,它说:

登录失败

trans by 2019-08-27T15:15:34Z

PowerShell:将整个文本文件内容存储在变量中

我想使用PowerShell将变量中的文本文件的全部内容(包括可能存在或可能不存在的尾随空白行)存储起来。 我还想知道文本文件中的总行数。 最有效的方法是什么?

trans by 2019-08-24T08:18:54Z

powershell - 如何获得远程计算机的磁盘容量和可用空间

我有这个单行:

get-WmiObject win32_logicaldisk -Computername remotecomputer

输出是这样的:

DeviceID     : A:
DriveType    : 2
ProviderName :
FreeSpace    :
Size         :
VolumeName   :

DeviceID     : C:
DriveType    : 3
ProviderName :
FreeSpace    : 20116508672
Size         : 42842714112
VolumeName   :

DeviceID     : D:
DriveType    : 5
ProviderName :
FreeSpace    :
Size         :
VolumeName   :

我如何得到FreespaceSizeDeviceID C:? 我需要提取这两个值而没有其他信息。 我用Select cmdlet尝试了它,但没有效果。

编辑:我只需要提取数值并将它们存储在变量中。

trans by 2019-08-24T03:26:47Z

如何使用PowerShell替换文件中的多个字符串

我正在编写一个用于自定义配置文件的脚本。 我想在这个文件中替换多个字符串实例,我尝试使用PowerShell来完成这项工作。

它适用于单个替换,但执行多次替换非常慢,因为每次它必须再次解析整个文件,并且此文件非常大。 该脚本如下所示:

$original_file = 'path\filename.abc'
$destination_file =  'path\filename.abc.new'
(Get-Content $original_file) | Foreach-Object {
    $_ -replace 'something1', 'something1new'
    } | Set-Content $destination_file

我想要这样的东西,但我不知道如何写它:

$original_file = 'path\filename.abc'
$destination_file =  'path\filename.abc.new'
(Get-Content $original_file) | Foreach-Object {
    $_ -replace 'something1', 'something1aa'
    $_ -replace 'something2', 'something2bb'
    $_ -replace 'something3', 'something3cc'
    $_ -replace 'something4', 'something4dd'
    $_ -replace 'something5', 'something5dsf'
    $_ -replace 'something6', 'something6dfsfds'
    } | Set-Content $destination_file
trans by 2019-08-24T01:26:11Z

从PowerShell阵列中删除重复值

如何从PowerShell阵列中删除重复项?

$a = @(1,2,3,4,5,5,6,7,8,9,0,0)
trans by 2019-08-22T23:05:29Z

如何在调用Add-PSSnapin之前检查是否已加载PowerShell管理单元

我有一组PowerShell脚本有时可以一起运行,有时一次运行。 每个脚本都要求加载某个管理单元。

现在每个脚本在开头调用Add-PSSnapin XYZ

现在,如果我背靠背地运行多个脚本,则后续脚本会抛出:

无法添加Windows PowerShell管理单元XYZ,因为它已添加。 验证管理单元的名称,然后重试。

在调用Add-PSSnapin之前,如何检查每个脚本以查看是否已加载管理单元?

trans by 2019-08-22T00:47:50Z

如何从PowerShell命令行查找Windows版本

如何找到我正在使用的Windows版本?

我使用PowerShell 2.0并尝试过:

PS C:\> ver
The term 'ver' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify tha
t the path is correct and try again.
At line:1 char:4
+ ver <<<< 
    + CategoryInfo          : ObjectNotFound: (ver:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

我该怎么做呢?

trans by 2019-08-14T06:49:09Z

如何通过PowerShell中的属性名称获取对象的属性值?

在PowerShell中,如何通过指定对象的名称(字符串)来获取对象的属性值? 我想要以下内容:

$obj = get-something

# View the object's members:
$obj | gm

# I could retrieve a property by doing so:
write-host $obj.SomeProp

# But for many purposes, I would really want to:
write-host $obj | Get-PropertyByName "SomeProp"

是否有类似于&#34; Get-PropertyByName&#34; 在PowerShell?

trans by 2019-08-12T15:51:50Z

PowerShell和-contains op

请考虑以下代码段:

"12-18" -Contains "-"

您认为此评估为-,但它没有。 这将评估为-Contains。 我不确定为什么会这样,但确实如此。

为避免这种情况,您可以使用此代码:

"12-18".Contains("-")

现在表达式将评估为true。

为什么第一个代码片段的行为如此? -有什么特别的东西与-Contains没什么好玩的吗? 文档没有提及它的任何内容。

trans by 2019-08-12T15:37:26Z

PowerShell支持常量吗?

我想在PowerShell中声明一些整数常量。

有没有好办法呢?

trans by 2019-08-11T05:55:37Z

你如何使用PowerShell 2.0进行“暂停”?

好的,我正在失去它。 PowerShell很讨厌我。 我想要一个暂停对话框出现,但它不会。

PS W:\>>> $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
Exception calling "ReadKey" with "1" argument(s): "The method or operation is not implemented."
At line:1 char:23
+ $host.UI.RawUI.ReadKey <<<< ("NoEcho")
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException
trans by 2019-08-10T13:11:44Z

如何使用PowerShell删除文件上的ReadOnly属性?

如何使用PowerShell(版本1.0)脚本删除文件上的ReadOnly属性?

trans by 2019-08-08T01:37:19Z

语法 - Powershell中的“@”符号有什么作用?

我已经看到PowerShell中使用的@符号来初始化数组。 @符号究竟是什么意思,我在哪里可以阅读更多信息?

trans by 2019-08-07T15:26:04Z

1 2 3 4 5 6 7 8 9 下一页 共9页