簡體   English   中英

如何將PowerShell腳本推送到域計算機?

[英]How do I push a PowerShell script out to domain computers?

我正在嘗試運行將本地管理員添加到計算機上的命令。 但是,我正在努力將其與腳本結合使用,以將其推送到Active Directory中特定OU下的所有域計算機。

以下是腳本的第一部分,即我用來創建用戶的命令。

我還有一個腳本將所有必需的OU計算機拉入CSV,但是我需要將以下腳本推入此CSV的PC中。 這可能嗎? 我只希望它運行一次,而不是作為啟動腳本運行,因為我不希望它創建多個用戶。

$Username = "user"
$Password = "Password"
$group = "Administrators"
$adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
$existing = $adsi.Children | where {
    $_.SchemaClassName -eq 'user' -and $_.Name -eq $Username
}

if ($existing -eq $null) {
    Write-Host "Creating new local user $Username."
    & NET USER $Username $Password /add /y /expires:never

    Write-Host "Adding local user $Username to $group."
    & NET LOCALGROUP $group $Username /add
}

Write-Host "Ensuring password for $Username never expires."
& WMIC USERACCOUNT WHERE "Name='$Username'" SET PasswordExpires=FALSE

如果您確實只想在每台計算機上運行腳本一次,並且所有計算機都已打開電源並且PowerShell遠程處理已激活,則可以執行以下操作:

Get-ADComputer -Filter * -SearchBase "OU=myOU,DC=mydomain,DC=tld" | foreach {

    Invoke-Command -ComputerName $_.DNSHostname -ScriptBlock {

        # Your script goes here...
    }
}

上面的示例從Active Directory的預定義OU中讀取所有計算機對象,連接到每個對象,然后在計算機上執行腳本(或-Scriptblock {}中的任何內容)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM