相关疑难解决方法(0)

[ordered]的用例,新的PowerShell 3.0功能

PowerShell 3.0 CTP1引入了一个新功能[ordered],它有点像OrderedDictionary.我无法想象它的实际用例.为什么这个功能真的有用?有人可以提供一些有用的例子吗?

例如:这是,恕我直言,而不是实际的演示案例:

$a = [ordered]@{a=1;b=2;d=3;c=4}
Run Code Online (Sandbox Code Playgroud)

(我不介意它是否仍然有用,那我只是在寻找其他有用的案例).

我不是在寻找用例OrderedDictionary,确实很有用.但我们可以直接在v2.0中使用它(我做了很多).我试图理解为什么还[ordered]需要这个新功能.


从答案收集的用例:

$hash = [ordered]@{}
Run Code Online (Sandbox Code Playgroud)

比...短

$hash = New-Object System.Collections.Specialized.OrderedDictionary
Run Code Online (Sandbox Code Playgroud)

NB ordered不是该类型的真正捷径.New-Object ordered不起作用.

注2:但这仍然是一个很好的捷径,因为(我认为,不能尝试)它创建典型的PowerShell不区分大小写的字典.v2.0中的等效命令实际上太长了:

New-Object System.Collections.Specialized.OrderedDictionary]([System.StringComparer]::OrdinalIgnoreCase)
Run Code Online (Sandbox Code Playgroud)

powershell powershell-3.0

11
推荐指数
2
解决办法
2万
查看次数

创建PowerShell自定义对象

我在PowerShell中创建了一个自定义对象。我能够解决我想解决的问题。我想要一个包含两列的对象,一列用于网站集,一列用于电子邮件。

但是,我想知道是否有更简单的解决方案。你有什么建议吗?

这是我的代码:

$cred = Get-Credential

Connect-PnPOnline "https://tenant.sharepoint.com" -Credentials $cred
$SiteCollections = Get-PnPTenantSite

$object = @()

foreach ($SiteCollection in $SiteCollections) {
    Connect-PnPOnline -Url $SiteCollection.Url -Credentials $cred
    $email = Get-PnPRequestAccessEmails
    Write-Host "Email for $($SiteCollection.Url): $($email)"

    $obj = New-Object System.Object
    $obj | Add-Member -type NoteProperty -name Url -value $SiteCollection.Url
    $obj | Add-Member -type NoteProperty -name Email -value $email
    $object += $obj
}

Write-Output $object
Run Code Online (Sandbox Code Playgroud)

powershell sharepoint

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

标签 统计

powershell ×2

powershell-3.0 ×1

sharepoint ×1