小编Mar*_*ndl的帖子

如何多线程 PowerShell Ping 脚本

我最近完成了一个脚本,用于 ping 列表中的每台计算机/工作站并以良好的格式输出。

有数千台计算机需要 ping 下一个列表,因此需要一段时间才能正常运行。我如何能够对其进行多线程处理,以便可以在合理的时间范围内完成这项工作?

powershell multithreading ping

6
推荐指数
2
解决办法
8323
查看次数

System.Uri不包含名为'new'的方法

[System.Uri]::new('http://www.stackoverflow.com') 失败并显示错误消息

[System.Uri]不包含名为'new'的方法

但是我能够在另一个盒子上找到这个方法.并运行良好.

如何查找PowerShell下加载的System对象之间是否存在差异

powershell system

6
推荐指数
1
解决办法
2033
查看次数

Hashtable与关于迭代的自定义对象数组

我经常编写事物列表并对它们执行枚举以执行一些get/set.

我讨厌枚举哈希表,因为每当我必须这样做时,我必须向后弯曲以处理hashtable对象.

$hashtablelistofitems = @{}

$hashtablelistofitems.add("i'm a key", "i'm a value")

foreach ($item in $hashtablelistofitems.keys) {
  $item
  $hashtablelistofitems.item($item)
}
Run Code Online (Sandbox Code Playgroud)

相反,我通常会恢复使用具有两个noteproperties的自定义对象的单维数组.

$array = @()

$listofitems = "" | select key,value

$listofitems.key = "i'm a key"
$listofitems.value = "i'm a value"

$array += $listofitems

foreach ($item in $listofitems) {
  $item.key
  $item.value
}
Run Code Online (Sandbox Code Playgroud)

我为什么要使用hashtable这种方法呢?仅仅因为它只保证每个键的单个值?

powershell hashtable key-value-store

6
推荐指数
1
解决办法
3381
查看次数

从自定义cmdlet管道后,Intellisense不起作用(Powershell ISE)

如果我在PowerShell ISE编辑器中键入以下行,我在$_变量中的点运算符后得到Intellisense :

Get-ChildItem ATextFile.txt | foreach { $_.FullName }
Run Code Online (Sandbox Code Playgroud)

在这种情况下,$_是一个实例System.IO.FileSystemInfo.编辑器将正确列出此对象中的所有可访问成员.

现在,如果我写:

function GetFile {
  return [System.IO.FileInfo]::new(".\ATextFile.txt")
}

GetFile | foreach { $_.FullName }
Run Code Online (Sandbox Code Playgroud)

脚本运行正常,但是在运算符后,Intellisense不起作用$_.

我错过了使IntelliSense正常工作的语法吗?也许是一个注释来"记录"返回值?

powershell

6
推荐指数
1
解决办法
89
查看次数

如何将Angular 6与.NET Core 2.0 Web API应用程序一起部署到Microsoft Azure?

如何将Angular 6与.NET Core 2.0 Web API应用程序一起部署到Microsoft Azure?

我创建了ASP.NET Core 2.0 Web API(服务器端应用程序)应用程序,并在其中创建了Angular 6.0应用程序(客户端应用程序).这两个应用程序都在本地环境中成功构建并运行(数据库 - MongoDB:mLab服务器).

现在,我想在一个Web应用程序服务(客户端应用程序和服务器应用程序(Web API)将提供服务)中将带有.net核心Web API应用程序的角度应用程序部署到Azure环境.

但是,我在Azure环境中部署了一个角度应用程序(客户端),但没有使用.net.

azure azure-api-apps azure-app-service-plans asp.net-core-2.0 angular

6
推荐指数
1
解决办法
1625
查看次数

如果文件存在,如何使用powershell跳过文件下载

我有以下脚本从频道 9 下载一些文件:

function Get-Media
{
    [CmdletBinding()]
    param
    (
        [Object]
        $url,
        [Object]
        $title,
        [Object]
        $path
    )

    $u = New-Object System.Uri($url)
    $name = $title
    $extension = [System.IO.Path]::GetExtension($u.Segments[-1])
    $fileName = $name + $extension

    #$fileName = $fileName -replace "’", ''
    #$fileName = $fileName -replace "\?", ''
    #$fileName = $fileName -replace ":", ''
    #$fileName = $fileName -replace '/', ''
    #$fileName = $fileName -replace ",", ''
    #$fileName = $fileName -replace '"', ''
    #$fileName = $fileName -replace '|', ''
    #$fileName = $fileName -replace '\#', ''
    #$fileName …
Run Code Online (Sandbox Code Playgroud)

powershell

5
推荐指数
1
解决办法
3125
查看次数

PowerShell 中的命名参数显示为“位置”

我有一个简单的函数,有两个参数。我没有提到它们是位置性的,但当我检查该函数的帮助时,它会自动为它们分配一个位置。如何强制它们仅被命名为参数(不接受按位置的值)?

Function Test-Params
{
    Param
    (
        [Parameter(Mandatory,ValueFromPipeline,ValueFromPipelineByPropertyName)]
        $Param1,

        [Parameter(ValueFromPipeline,ValueFromPipelineByPropertyName)]
        $Param2
    )

    Write-Host "$Param1 $Param2"
}
Run Code Online (Sandbox Code Playgroud)

当我检查此函数的帮助或尝试通过提供参数位置值来运行该函数时,它可以工作(但它不应该工作):

Test-Params test1 test2
test1 test2
Run Code Online (Sandbox Code Playgroud)

帮助输出:

help Test-Params -Full

NAME
    Test-Params

SYNTAX
    Test-Params [-Param1] <Object> [[-Param2] <Object>]  [<CommonParameters>]


PARAMETERS
    -Param1 <Object>

        Required?                    true
        Position?                    0
        Accept pipeline input?       true (ByValue, ByPropertyName)
        Parameter set name           (All)
        Aliases                      None
        Dynamic?                     false

    -Param2 <Object>

        Required?                    false
        Position?                    1
        Accept pipeline input?       true (ByValue, ByPropertyName)
        Parameter set name           (All)
        Aliases                      None
        Dynamic?                     false
Run Code Online (Sandbox Code Playgroud)

powershell parameter-passing

5
推荐指数
1
解决办法
731
查看次数

Get-Help about_Automatic_Variables不起作用

我正在研究PowerShell以及建议调用的网站和书籍Get-Help about_Automatic_Variables,例如,获取返回的自动变量列表.我尝试Get-Help使用以下参数调用,但我总是得到一个返回的cmdlet列表:

  • about_Variables
  • 参阅about_Automatic_Variables
  • about_Environment_Variables
  • 参阅about_Preference_Variables
  • 参阅about_Scopes

我错了什么?

powershell

5
推荐指数
2
解决办法
250
查看次数

如何使用 PowerShell 从 Connectionstring 获取数据源?

在.Net中,我们可以使用以下机制从连接字符串获取数据源:

System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(connectionString);

string server = builder.DataSource;
Run Code Online (Sandbox Code Playgroud)

我试图在 PowerShell 中执行此操作,但出现以下异常:

$ConstringObj = New-Object System.Data.SqlClient.SqlConnectionStringBuilder($conString)
Run Code Online (Sandbox Code Playgroud)

New-Object:使用“1”个参数调用“.ctor”时出现异常:“不支持关键字:‘元数据’。” 在第 1 行:17 + $ConstringObj = New-Object System.Data.SqlClient.SqlConnectionStringBuilder($con ... + ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 类别信息:无效操作:(:) [新对象],MethodInitationException + FullQualifiedErrorId:ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

如何在 PowerShell 中执行此操作?

.net sql powershell

5
推荐指数
1
解决办法
2516
查看次数

如何编辑计划任务触发器

$taskExists = Get-ScheduledTask $strTaskName
   if($taskExists) {

    $taskExists.Description = "a daily  Report"

    $taskExists | set-scheduledtask -user $strUser -Password $strPassword
   }
Run Code Online (Sandbox Code Playgroud)

上面的Power Shell代码是用于更新现有的计划任务。谁能告诉我如何更新触发值?

powershell scheduled-tasks

5
推荐指数
0
解决办法
3673
查看次数