我想运行一个外部进程并将其命令输出捕获到PowerShell中的变量.我目前正在使用这个:
$params = "/verify $pc /domain:hosp.uhhg.org"
start-process "netdom.exe" $params -WindowStyle Hidden -Wait
Run Code Online (Sandbox Code Playgroud)
我已经确认命令正在执行但我需要将输出捕获到变量中.这意味着我无法使用-RedirectOutput,因为这只会重定向到文件.
我是Powershell的新手,并编写了一些非常大的脚本,即一个调用其他脚本的脚本,这些脚本具有嵌套在其他函数中的函数.当我启动这个脚本时,我有时会得到错误,我不知道它们来自哪里.有没有一种简单的方法可以查看此脚本的终止位置,以便我可以解决错误?
我正在尝试自动化生成证书签名请求的过程,然后从 Windows Server 2012 R2 服务器上的 CA 导入响应,以用作 IIS 中 SSL 绑定的证书。我能够生成 CSR,然后我将其提供给安全团队,然后安全团队为我提供然后导入的响应,但在导入时遇到了麻烦。
此服务器在工作组中。以为我会提到这一点,所以没有 AD 注册政策。
这是我的过程:
Run Code Online (Sandbox Code Playgroud)[Version] Signature = "$Windows NT$" [NewRequest] Subject = "C=US,S=California,L=City,O=Company,OU=IT,CN=hostname" Exportable = TRUE KeyLength = 2048 KeySpec = 1 KeyUsage = 0xa0 MachineKeySet = True ProviderName = "Microsoft RSA SChannel Cryptographic Provider" ProviderType = 12 Silent = True SMIME = False RequestType = PKCS10
然后,通过执行以下操作,此 INF 文件将转换为 CSR .req 文件:
certreq.exe -new "C:\inffile.inf" "C:\certreq.req"
Run Code Online (Sandbox Code Playgroud)
REQ 文件被发送给安全团队,他们给我一个 .CER 文件,当手动导入时,它实际上添加了来自 …
我正在开发一个利用亚马逊MWS API的应用程序,主要用PHP编写.此应用程序允许亚马逊卖家注册,提供一些亚马逊卖家凭证,然后应用程序开始从亚马逊下载此用户的订单,将他们放入MySQL数据库.
我已经构建了使用具有多个函数的脚本将数据准确地同步到数据库的方法,但是注意到这需要太长时间.此脚本只是循环遍历数据库中的所有用户,并一次迭代所有订单.现在,只有5个测试用户,时间是可行的,但我正在寻找一种更具扩展性的方法.想想每个同时运行一个的500个用户.太久了!
我是PHP的新手,特别是从它运行异步进程.我发现我能做到这一点的唯一方法是使用一个启动脚本来查找数据库中的所有用户,并为每个用户生成一个同步脚本然后释放它.我不喜欢这个想法,因为如果我有500多个用户,我的夜间同步将包含500个这个PHP脚本的衍生实例.
以前有人做过类似的事吗?如果是这样,我很想知道如何最好地使这种同步更有效率.
我有一个很长的SQL Server 2005查询,我试图找到在PHP中使用sqlsrv_query函数的结果集.这是我的示例查询.为简洁起见,我删除了CASE语句中的变量声明和SET语句以及大多数WHEN条件.
DECLARE @TotalTable TABLE (
SourceName varchar(50),
GrossRevenue float,
TotalOrderCount int,
FBAOrderCount int,
PostageExpense float,
MarketplaceFees float,
PickupExpense float,
COGS float,
AvgOrder float
);
INSERT @TotalTable(SourceName,GrossRevenue,TotalOrderCount,FBAOrderCount,PostageExpense,MarketplaceFees,PickupExpense,COGS,AvgOrder)
SELECT
cl.Name,
SUM(oi.Price) + SUM(oi.NativeShippingFee),
COUNT(*) AS 'Order Count',
SUM(CASE WHEN o.ActualPostage = '0.00' THEN 1 ELSE 0 END) AS 'FBA Orders',
SUM(o.ActualPostage) AS 'Postage Expense',
CAST(SUM(CASE
WHEN o.ActualPostage = '0.00' AND mcd.VisibleName = 'Amazon US' THEN --FBA order on Amazon
(pt.weight * @FBAWeightCost) + @FBAPickPackCost + (oi.Price * @AmzComm) + @AmzVcf …Run Code Online (Sandbox Code Playgroud) 我有一组自定义对象,共有3个属性.
PS> $aOutput | select -first 10 | ft -auto
MifProblem FileCreationTime Client
---------- ---------------- ------
dataldr.box 12/2/2013 9:45:50 AM UAPURO1-NURSE1
DeltaMismatch 11/25/2013 7:01:37 AM UAPISTRAINING3
DeltaMismatch 11/23/2013 2:52:21 AM PICASO-2123
DeltaMismatch 11/24/2013 7:16:40 AM JADE05
DeltaMismatch 11/29/2013 8:21:10 AM JADE05
DeltaMismatch 11/19/2013 6:31:09 AM JADE05
DeltaMismatch 12/1/2013 5:25:41 AM JADE05
DeltaMismatch 11/20/2013 5:40:33 AM JADE05
DeltaMismatch 11/18/2013 8:05:43 AM JADE05
DeltaMismatch 11/21/2013 8:30:45 AM JADE05
Run Code Online (Sandbox Code Playgroud)
我试图找出如何通过客户端对该数组进行分组,并计算所有MifProblem和最新的FileCreationtime.
这是我想根据上面的数组看到的输出:
Client MifProblems LatestFileCreationTime
------ ----------- ----------------------
UAPURO1-NURSE1 1 12/2/2013 9:45:50 AM
UAPISTRAININ3 …Run Code Online (Sandbox Code Playgroud) 我是Jenkins的新手,但真的很想看看Jenkins如何在构建流程中为我提供帮助。作为要求的一部分,我们需要能够通过x64实例调用PowerShell脚本。我已经在Windows Server 2012 R2上安装了Jenkins,开箱即用,PowerShell插件运行良好,但可以通过x86引擎运行。据我了解,默认情况下,Jenkins使用Java的x86版本。没问题。我已经安装了x64版本的Java,并修改了Jenkins.xml使其看起来像这样:
<executable>C:\Program Files\Java\jre1.8.0_131\bin\java.exe</executable>
Run Code Online (Sandbox Code Playgroud)
…并重新启动了詹金斯服务。该服务可以正常重启,但Web界面无响应。我试图重新引导整个服务器,将JAVA_HOME系统环境变量设置为,C:\Program Files\Java\jre1.8.0_131并卸载了Java的x86版本,但无济于事。
从我一直在阅读的内容来看,这对大多数人有效,但对我而言无效。我还查看了jenkins.err.log和jenkins.out.log文件,以查看为什么我没有从Web界面得到任何响应并且它们什么也没有的任何迹象。
我有一个二进制注册表值,我想检查 Powershell 脚本中的一致性。我正在通过以下方式检索价值:
(Get-ItemProperty -Path HKLM:\Software\ORL\WinVNC3 -Name ACL).ACL
Run Code Online (Sandbox Code Playgroud)
这将返回一个字节字符串作为结果。
然后,我创建了一个字节字符串变量,该变量与我所期望的相匹配,然后通过 regedit.exe 导出注册表项来查询该值。然后,我通过在由逗号分隔的每个字节前面加上“0x”并键入 [byte] 来从该文本创建一个字节字符串。当我只观察两个字符串时,它们完全相同。但是,当我:
$RegistryValue -eq $CreatedValue
Run Code Online (Sandbox Code Playgroud)
他们不返回 True。我究竟做错了什么?
powershell ×5
php ×2
amazon-mws ×1
asynchronous ×1
iis ×1
java ×1
jenkins ×1
mysql ×1
process ×1
registry ×1
sql-server ×1
ssl ×1
windows ×1