我已经看过如何将多个命令与psexec结合起来,但没有任何方法似乎工作。 也许这是因为我在PowerShell中运行脚本而不是cmd.exe? 我需要创build用户帐户并将其添加到非域计算机上的本地pipe理员组(Windows 2003)。 我得到了以下脚本(工作),但我想知道是否有一个简单的方法来组合两个foreach循环,因为它必须build立每个服务器两次psexec连接。 $username = Read-Host "User name:" $password = Read-Host "Password:" $fullname = Read-Host "Full name:" $computers = Get-Content C:\Tools\scripts\ServerList.txt foreach ($computer in $computers) { psexec \\$computer -u username -p password net user $username $password /add /fullname:""$fullname"" /comment:"Comment" } foreach ($computer in $computers) { psexec \\$computer -u username -p password net localgroup […]
这里是我的代码,我拉用户名,电子邮件地址和随机密码,并希望将这些很好地存储在CSV。 如何导出到csv自定义属性,如我的自定义生成的密码,同时也导出名称和邮件? $pool = Get-ADUser -Filter * -SearchScope Subtree -SearchBase "OU=Test,OU=Users,OU=funny,DC=Corp,DC=funny,DC=com" foreach ($user in $pool ) { #MY NAME AND MAIL FUNCTION $a = Get-ADUser $user -Properties name, mail #MY PASSWORD FUNCTION $password = {blah,blah,blah} $password } $pool | Select-Object name,mail,$password | Export-Csv -path test.csv 如何随CSV和姓名一起打印随机密码? 注意:我正在做AD。 我想CSV是整洁的,因为我将通过使用PowerShell再次parsing。 我正在使用Powershell 3。
我们在我们的环境中有几台服务器(Windows Server 2012 R2),它们会自动安装更新并在此之后重新启动。 重启后,我们想检查所有设置为自动启动的(Windows)服务的状态。 如果一个服务没有启动,脚本会尝试启动服务3次,如果所有的尝试失败,它应该发送一个电子邮件通知,以便我们可以检查这个服务在这个服务器上有什么问题。 我想知道是否已经有一个简单的解决scheme,也许是一个PowerShell脚本?
我试图想出一个办法推出一个证书,以安装在多台机器上。 我想到的方法是: Invoke-Command ServerName {Import-Certificate -FilePath "path" ` CertStoreLocation Cert:\LocalMachine\Root} 我得到: Access is denied. 0x80070005 (WIN32: 5 ERROR_ACCESS_DENIED) + CategoryInfo : NotSpecified (:) [Import-Certificate], Exception + FullyQualifiedErrorID : System.Exception,Microsoft.CertificationServices.Commands.ImportCertificateCommand + PSComputerName : ServerName 我以pipe理员身份运行本地PowerShell,而我的帐户是目标计算机上的pipe理员。 我已经证实我可以安装证书。 编辑:如果我login到目标机器并运行在{}的代码,它工作正常,但只有当我以pipe理员身份运行。 所以在我的机器上,我以pipe理员身份启动,似乎没有将其转换为目标。
我们使用Hyper-V + SCVMM来托pipeWindows Server 2012(R2)虚拟机。 目前我们的部署过程包含了很多PowerShell命令,我们必须在部署VMM模板之后复制/粘贴。 例如,有些更改网卡名称,添加DNS后缀等 有没有办法将这些命令集合到PowerShell脚本中,让脚本在第一次启动虚拟机时自动运行? 我们不能在模板中设置这些属性,因为例如不是所有的虚拟机都具有相同数量的网卡。
我想设置一个用户login的Kiosk Modus,浏览器自动启动。 Windows自定义shell $COMPUTER = "localhost" $NAMESPACE = "root\standardcimv2\embedded" # Create a handle to the class instance so we can call the static methods. $ShellLauncherClass = [wmiclass]"\\$COMPUTER\${NAMESPACE}:WESL_UserSetting" # This well-known security identifier (SID) corresponds to the BUILTIN\Administrators group. $Admins_SID = "S-1-5-32-544" # Create a function to retrieve the SID for a user account on a […]
我正在使用Powershell的Invoke-WebRequest (这也适用于Invoke-RestMethod )调用ElasticSearch集群。 这个特定的命令经常返回一个错误结果( 409 conflict )。 Powershell看到错误状态,抛出一个错误,并没有通过pipe道传递任何有用的东西,它将响应的主体喷到控制台上: 但是,a)尽pipe它有一个错误代码,我并不在意它是错误的(只是它被返回),b)我希望能够访问该响应的主体,以便我可以实际检查包含的数据。 有什么办法让PowerShell压制错误输出( -ErrorAction不起作用),并传递一些有用的pipe道? 作为一个说明,我真的想调用这与Invoke-RestMethod但因为它和Invoke-WebRequest本质上是相同的命令,我已经推广这个问题, Invoke-WebRequest
我正在使用Out-File cmdlet,如下所示: PS> Some-Cmdlet -someswitch | Out-File -filepath .\somefile.txt 它工作很好。 反正有,我实际上可以让命令行自己打印到相同的文件之前输出? 换句话说,当我打开somefile.txt我想看到以下内容: Some-Cmdlet -someswitch | Out-File -filepath .\somefile.txt OUTPUT OUTPUT OUTPUT etc.
运行这个命令会给我大量的结果,例如。 Get-Aduser -Properties * -Filter {PasswordExpired -eq $false} 但是,如果我运行这个命令: Get-Aduser -Properties * -Filter {PasswordExpired -eq $true} 我没有得到任何结果 但是,当我做一个get-aduser test.user -Properties *并看看PasswordExpired字段它说“真”。 所以我尝试在filter中使用“True”而不是$ true Get-Aduser -Properties * -Filter {PasswordExpired -eq 'True'} 我仍然没有得到一个结果。 但是,如果我这样运行: Get-Aduser -filter {enabled -eq $true -or enabled -eq $false} -Properties * | where {$_.PasswordExpired -eq $true} 它工作并列出所有密码已过期的帐户。 那么为什么在get-aduser中不能过滤“PasswordExpired -eq $ true”,但是在pipe道之后? PSVersion 4.0 […]
我试图自动configurationWindows 2012服务器,但是我无法让PHP工作。 这是我用来添加处理程序映射到IIS的命令: New-WebHandler -Name "PHP-FastCGI" -Path "*.php" -Verb "*" -Modules "FastCgiModule" -ScriptProcessor "c:\php\php-cgi.exe" -ResourceType File 这正确地添加处理程序映射,到目前为止非常好。 但是,我仍然需要为可执行文件手动创buildFastCGI应用程序才能使其工作。 什么是PowerShell命令来自动执行此操作? 我找不到任何指向正确方向的东西。