相关疑难解决方法(0)

如何在PowerShell中将输出捕获到外部进程的变量中?

我想运行一个外部进程并将其命令输出捕获到PowerShell中的变量.我目前正在使用这个:

$params = "/verify $pc /domain:hosp.uhhg.org"
start-process "netdom.exe" $params -WindowStyle Hidden -Wait
Run Code Online (Sandbox Code Playgroud)

我已经确认命令正在执行但我需要将输出捕获到变量中.这意味着我无法使用-RedirectOutput,因为这只会重定向到文件.

powershell process

140
推荐指数
7
解决办法
24万
查看次数

如何在双引号字符串中使用对象的属性?

我有以下代码:

$DatabaseSettings = @();
$NewDatabaseSetting = "" | select DatabaseName, DataFile, LogFile, LiveBackupPath;
$NewDatabaseSetting.DatabaseName = "LiveEmployees_PD";
$NewDatabaseSetting.DataFile = "LiveEmployees_PD_Data";
$NewDatabaseSetting.LogFile = "LiveEmployees_PD_Log";
$NewDatabaseSetting.LiveBackupPath = '\\LiveServer\LiveEmployeesBackups';
$DatabaseSettings += $NewDatabaseSetting;
Run Code Online (Sandbox Code Playgroud)

当我尝试使用字符串执行命令中的一个属性时:

& "$SQlBackupExePath\SQLBackupC.exe" -I $InstanceName -SQL `
  "RESTORE DATABASE $DatabaseSettings[0].DatabaseName FROM DISK = '$tempPath\$LatestFullBackupFile' WITH NORECOVERY, REPLACE, MOVE '$DataFileName' TO '$DataFilegroupFolder\$DataFileName.mdf', MOVE '$LogFileName' TO '$LogFilegroupFolder\$LogFileName.ldf'"
Run Code Online (Sandbox Code Playgroud)

它试图只使用值$DatabaseSettings而不是值$DatabaseSettings[0].DatabaseName,这是无效的.
我的解决方法是将其复制到一个新变量中.

如何直接在双引号字符串中访问对象的属性?

powershell string-interpolation

84
推荐指数
5
解决办法
5万
查看次数

从 PowerShell 脚本中提取时出错

我有一个简单的 PowerShell 脚本来使文件夹与其 git 存储库保持同步。

Param(
    [Parameter(Mandatory = $true)][string]$branch,
    [string]$location,
    [int]$depth
)

Get-ChildItem -Recurse -Directory -Depth $depth -Filter _$branch -Name -Path $location | 
ForEach-Object {
    Write-Output "`n$("{0:MM/dd/yy} {0:HH:mm:ss}" -f (Get-Date)): Getting latest from $location$_"
    git -C $location$_ pull
} *>> logs\$branch.log
Run Code Online (Sandbox Code Playgroud)

当存储库已经是最新的时,它可以正常工作。但是,如果不是,则输出如下:

07/29/19 14:47:27:从某个路径获取最新信息
git :来自 https://gitlab.com/someplace
在某个地方\UpdateBranch.ps1:10 字符:5
+ git -C $location$_ 拉
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (来自 https://gi...n/somerepo:String) [], RemoteException
    + FullQualifiedErrorId : NativeCommandError

   b34e5d0..3ec9561 开发 -> 起源/开发
   b6d33b1..65fb520 功能/功能 1 -> 原点/功能/功能 1
 * [新分支] …

git powershell

3
推荐指数
1
解决办法
1361
查看次数

标签 统计

powershell ×3

git ×1

process ×1

string-interpolation ×1