PowerShell - перезагрузка компьютера в определнное время.

Ответить
Аватара пользователя
butunin@vk

PowerShell - перезагрузка компьютера в определнное время.

Сообщение butunin@vk »

Здрасте ,формумчани!

Помогите мне сделать или дайте логику или идею по перезагрузке после преименования компьютера. Задача у меня простая достаточно но в тоже время я пока не могу с ней справится.

нужно переименовать компьютер и запустить его ребут в оперенное время . Я сделал так ...





Код:

Код: Выделить всё

function WS
{
	$ws1 = $textbox5.Text
	$ws2 = $textbox6.Text
	Invoke-Command -ComputerName $ws1 { schtasks.exe /create /sc ONCE /ST 21:00 /ET 22:00 /F /Z /TN shutdown /TR "'shutdown -r'" }
	Rename-Computer -ComputerName $ws1 -NewName WS$ws2 -DomainCredential $Cre -Force -PassThru
	if ($? -eq $true)
	{
		[System.Windows.Forms.MessageBox]::Show("Переименование компьютера $ws1 в WS$ws2 завершилось, необходимо перезагрузить компьютер")
	}
	else
	{
		[System.Windows.Forms.MessageBox]::Show("Переименование компьютера $ws1 в WS$ws2 НЕ УДАЛОСЬ")
	}
}

не могу понять только почему меня у меня валится с ошибками создание шедулера ... Изображение((



ERROR: [WS3207] Сбой подключения к удаленному серверу WS3207. Сообщение об ошибке: Службе WS-Management не удается обработать запрос. Не удается найти конфигурацию се

ERROR: анса Microsoft.PowerShell в WSMan: диск в компьютере WS3207. Дополнительные сведения см. в разделе справки, "about_Remote_Troubleshooting".

ERROR: + CategoryInfo : OpenError: (WS3207:String) [], PSRemotingTransportException

ERROR: + FullyQualifiedErrorId : InvalidResourceUri,PSSessionStateBroken



Может быть есть какой то другой способ удаленного ребута машины , дело в том что максимальное количество секунд есть в shutdown и в restart-computer ...
Аватара пользователя
Kazun

Re: PowerShell - перезагрузка компьютера в определнное время.

Сообщение Kazun »

Перезагрузка в определенное время, либо через планировщик заданий - что правильно, или сторонний скрипт, который сравнивает время и дату.



Ошибка сообщает о проблемах с winrm:

1) PowerShell Remoting настроен на компьютерах?

2) Invoke-Command -ComputerName $ws1 { dir C:\} - Что выводит?

3) netstat -an | findstr "5985" - Что выводит локально на $ws1?
Аватара пользователя
butunin@vk

Re: PowerShell - перезагрузка компьютера в определнное время.

Сообщение butunin@vk »

1)PowerShell Remoting настроен на компьютерах?



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

get-service winrm -ComputerName WS3207
Status   Name               DisplayName
------   ----               -----------
Running  winrm              Служба удаленного управления Window...



Код:

Код: Выделить всё

Test-WsMan ws3207
wsmid           : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor   : Microsoft Corporation
ProductVersion  : OS: 0.0.0 SP: 0.0 Stack: 3.0



Код:

Код: Выделить всё

Enter-PSSession -ComputerName ws3207
Enter-PSSession : Сбой подключения к удаленному серверу ws3207. Сообщение об ошибке: Службе WS-Management не удается об
работать запрос. Не удается найти конфигурацию сеанса Microsoft.PowerShell в WSMan: диск в компьютере ws3207. Дополните
льные сведения см. в разделе справки, "about_Remote_Troubleshooting".
строка:1 знак:1
+ Enter-PSSession -ComputerName ws3207
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (ws3207:String) [Enter-PSSession], PSRemotingTransportException
    + FullyQualifiedErrorId : CreateRemoteRunspaceFailed















2) Invoke-Command -ComputerName $ws1 { dir C:\} - Что выводит?



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

Invoke-Command -ComputerName WS3207 { dir C:\}
[WS3207] Сбой подключения к удаленному серверу WS3207. Сообщение об ошибке: Службе WS-Management не удается обработать
запрос. Не удается найти конфигурацию сеанса Microsoft.PowerShell в WSMan: диск в компьютере WS3207. Дополнительные све
дения см. в разделе справки, "about_Remote_Troubleshooting".
    + CategoryInfo          : OpenError: (WS3207:String) [], PSRemotingTransportException
    + FullyQualifiedErrorId : InvalidResourceUri,PSSessionStateBroken
Аватара пользователя
Kazun

Re: PowerShell - перезагрузка компьютера в определнное время.

Сообщение Kazun »

1) НА ws3207 локально от администратора выполнить



Код:

Код: Выделить всё

Enable-PSRemoting -Force -SkipNetworkProfileCheck

2) На компьютере с которого выполнятся скрипт



Код:

Код: Выделить всё

set-item wsman:\localhost\Client\TrustedHosts -value *
Аватара пользователя
butunin@vk

Re: PowerShell - перезагрузка компьютера в определнное время.

Сообщение butunin@vk »

Цитата Kazun:



1) НА ws3207 локально от администратора выполнить
PowerShell - перезагрузка компьютера в определнное время.




Пока не могу, но я к другим машинам я смотрю нормально цепляюсь и создаю шедулер ... скорее что-то локально на ней.

2) На компьютере с которого выполнятся скрипт

Из под админа отработал запросив повышение ...



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

PS C:\WINDOWS\system32> set-item wsman:\localhost\Client\TrustedHosts -value *
Настройка безопасности службы WinRM.
Данная команда изменяет список TrustedHosts для клиента WinRM. Возможно, не будет проверяться подлинность компьютеров,
указанных в списке TrustedHosts. Также возможно, что клиенты будут отправлять на эти компьютеры учетные данные. Вы
действительно хотите изменить этот список?
[Y] Да - Y  [N] Нет - N  [S] Приостановить - S  [?] Справка (значением по умолчанию является "Y"): y
PS C:\WINDOWS\system32>










Цитата Kazun:



Enable-PSRemoting -Force -SkipNetworkProfileCheck
PowerShell - перезагрузка компьютера в определнное время.




Предположим, там нет удаленного юзание ПС , как мне это сделать централизовано?
Аватара пользователя
Kazun

Re: PowerShell - перезагрузка компьютера в определнное время.

Сообщение Kazun »

Если после Enable-PsRemoting и запуска командлета Get-PSSessionConfiguration - не будет Microsoft.PowerShell, то попробовать:



Код:

Код: Выделить всё

Register-PSSessionConfiguration -Name Microsoft.PowerShell
Ответить

Вернуться в «Скриптовые языки администрирования Windows»